Files

139 lines
5.8 KiB
C++
Raw Permalink Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "MaterialEditorModule.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Modules/ModuleManager.h"
#include "IMaterialEditor.h"
#include "MaterialEditor.h"
#include "MaterialEditorUtilities.h"
#include "MaterialInstanceEditor.h"
#include "Materials/MaterialFunction.h"
#include "Materials/MaterialInstance.h"
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3680113) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3441680 by Uriel.Doyon Added units to point light intensity, to allow the user to specify the value in candelas or lumens. New point light actors now configure the intensity in candelas by default. Replaced viewport exposure settings by an EV100 slider. Hidding the tone mapper in the show flag now still applies the exposure. Added a new AutoExposure method called EV100 which allows to specify : - MinEV100, MaxEV100 - Calibration Constnat - Exposure Compensation #jira UE-42783 Change 3454934 by Chris.Bunner Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability. Change 3629223 by Rolando.Caloca DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847 Change 3629708 by Rolando.Caloca DR - vk - Redo some changes from DevMobile 3601439 3604186 3606672 3617383 3617474 3617483 Change 3636145 by Chris.Bunner Linux compile fix. Change 3636198 by Chris.Bunner Include fix. Change 3636225 by Daniel.Wright Removed spammy draw event Change 3636397 by Daniel.Wright Visualize volumetric lightmaps uses 18% grey in lit mode Change 3636398 by Daniel.Wright Translucency lighting modes work with Volumetric Lightmaps * The old Indirect Lighting Cache always interpolated one sample per object, while Volumetric lightmaps operate at the frequency of the Translucency Lighting Mode (per-vertex or per-pixel) so the lighting accuracy is much higher. * The old ILC always applied the single lighting sample with a per-pixel normal, even in per-vertex lighting modes * Volumetric PerVertex NonDirectional (cheapest lit translucency) went from 74 instructions down to 42 * Volumetric Directional went from 104 up to 122 Change 3636604 by Chris.Bunner Added a material translation error on identically named/associated but differently valued parameters as this will cause one of them to be lost during parameter evaluation, the result being "random". Change 3637668 by Rolando.Caloca DR - hlslcc - Skip preprocessor when not required which reduces peak mem consumption by ~500 MB - Fix missing indexing on intrinsic return type Change 3638541 by Chris.Bunner Fixed editor materials - Skip hardcoded parameter names that we rely on being overridden when checking for non-matching duplicate parameters. Change 3638798 by Mark.Satterthwaite Rebuilt hlslcc for Mac for Rolando's 3637668 changes. Change 3638861 by Mark.Satterthwaite Missed making a log verbose in the Metal ring-buffer. Change 3639482 by Rolando.Caloca DR - vk - Minor fixes Change 3639909 by Michael.Lentine Add special case for struct needed to compile. Workaround issues in parser such that (x)[0] is replaced with x[0] and (x).a is replaced with x.a. Change 3639916 by Michael.Lentine Spelling fix. Change 3640053 by Mark.Satterthwaite Fix Desktop Forward rendering on Nvidia Metal rendering on macOS by modifying the shader and runtime to treat ForwardLocalLightBuffer data as uint rather than float and invert the use of as*() casts. Tthis is *necessary* to avoid a bug/limitation of Nvidia's current Metal shader compiler that flushes all denorm values to zero on load from any resource. AMD & iOS Metal only flush-to-zero when sampling from textures and that's what Apple regard as the expected behaviour. I have however asked them to standardise on the D3D behaviour of preserving denorms on all load, move (incl. min/max/as*()-casts) & store operations. This won't happen in the current or imminent OS/Xcode releases. Now only Intel Metal is broken and their problems run deeper. #jira UE-48881 Change 3640983 by Olaf.Piesche Cache the depth buffer collision shader for GPU particles even when simple forward is enabled, as that can be turned off at runtime. #jira UE-48799 Change 3641480 by Michael.Lentine Add min16float to FP16Math Change 3642442 by Mark.Satterthwaite Fix the native shader libraries again & undo the increase in cook time from changes to the way FShaderCodeLibrary was compiling & deduplicating the shaders. - Remvoe the single linear array for accumulated shader code: reallocating this is tremendously expensive and will double the time taken to iteratively cook large projects. - Uncompress the shader data for the native library system so that it actually works again. - Fix some errant change to the Metal compiler that was trying to wedge the fully compiled library into the single Metal library which is 100% bogus. #jira UE-49192 Change 3642919 by Chris.Bunner Reverted unintended changes to material static parameter set serialization. Bumped material version to force re-serialization. Fixed a few typos. Change 3642923 by Richard.Wallis Fix for "Pixel Inspector On" message not disappearing when closing pixel inspector window while on. Handle tab closed events to cancel the pixel inspector if window closed while running. #jira UE-46504 Change 3643296 by Michael.Lentine Convert all structures that aren't use globally to halfs. Change 3643381 by Ryan.Brucks New Plugin allowing Blueprint Texture and RT reads as well as MIC creation and modification. Change 3643929 by Ben.Salem Added better precision on thread values in Perf Monitor. Also added global thread values to go with per-world ones to help track down the most accurate numbers possible. #tests Ran locally, changes validated by benj Change 3644203 by Mark.Satterthwaite Refactor mtlpp a little bit to make the compiler do more of the work & update for all the latest publicly exposed APIs. Change 3644336 by Mark.Satterthwaite Ref-count the mtlpp Device object so that it can be the repository for IMP caching - now just have to go through the types created from a specific device and have them keep a reference.... Change 3644431 by Uriel.Doyon Added a intensity units property, for point lights and spot lights, that can be set to Candelas, Lumens or Unitless (legacy). The default units value for newly placed point lights and spot lights is configured in the project settings. Spot lights configured in lumens have their whole luminous energy redirected toward the cone. This means that changing the outer cone angle, changes the spot light brightness. New exposure menu that uses an EV100 slider. New post process settings "camera" tab regrouping : ShutterSpeed, ISO, Aperture and ExposureCompensation. Post process settings "auto exposure" tab renamed "exposure". The calibration constant for "Auto Exposure Basic" is now configurable in the advanced tab. The auto exposure method is renamed "Metering Mode" New pre-exposure feature that allows the engine to apply the previous frame exposure before writing to the scene color. This allows the engine to render the scene with similar range than the final color (after exposure), and avoid arithmetic overflow for low precision RT formats. The amount of exposure applied directly is called pre-exposure, and is compensated by a smaller post-exposure value. Change 3645098 by Marcus.Wassmer Don't add meshes twice when in simpleforward Change 3645551 by Daniel.Wright VolumetricScatteringIntensity is greyed out based on Mobility Change 3645707 by Chris.Bunner Skip empty parameters when identifying invalid duplicates during material translation. Change 3646225 by Uriel.Doyon Texture streaming support for particle sub-uv Change 3646323 by Rolando.Caloca DR - vk - Fix bad update texture 2/3d parameters Change 3646463 by Mark.Satterthwaite Metal shader files that can serve as extensions to the metal_stdlib rather than trying to wedge even more into the shader compiler. Might as well leverage Metal's C++'ness. Currently just a skeleton of a buffer type that would better emulate HLSL Buffer<>/RWBuffer<> objects. Change 3646727 by Marcus.Wassmer fix linux and nonunity compiles Change 3647777 by Rolando.Caloca DR - Mobile Vulkan optimization Change 3647822 by Lauren.Ridge Layers are now renameable (except Layer 0 is always "Background") in Material Layers Functions Change 3647918 by Chris.Bunner Static analysis fixes - Monolithic include, forward delcared enums, locally shadowed variable. Change 3648010 by Michael.Lentine Don't use min16float by default. Change 3648015 by Michael.Lentine Add special case fixes for min16float as well as half on console. Change 3648024 by Lauren.Ridge Moving MaterialLayersFunctions Layer naming to EditorOnly wrappers Change 3648127 by Lauren.Ridge Moving name getter functionality to FMaterialLayersFunctions Change 3648265 by Lauren.Ridge Fixing loctext key Change 3648293 by Rolando.Caloca DR - D3D12 fix Change 3648326 by Rolando.Caloca DR - vk - Added subrectangle support when updating Texture2D and Texture3D Change 3648522 by Rolando.Caloca DR - vk - Do not try to create a BufferView of a StructuredBuffer (no valid pixelformat) Change 3648612 by Rolando.Caloca DR - vk - Implement RHIMapStagingSurface Change 3648673 by Rolando.Caloca DR - vk - Reduce Vulkan pipeline cache disk size by filtering duplicated shader ucodes Change 3648913 by Arne.Schober DR - Performance optimization during HLod traversal. using vector load and avoiding array copy by passing it through reference instead through value. Change 3649443 by Daniel.Wright Exposed EmissiveBoost, since Lightmass supports Emissive areas on meshes Change 3650436 by Mark.Satterthwaite Implemented the necessary extensions for Metal shading language to move lots of complexity out of MetalBackend and into actual shader code to make life *vastly* simpler. - Full ue4::typed_buffer<T> wrapper type & associated ue4::buffer<>/ue4::buffer_atomic<> API - totally untested but should be functionally equivalent to HLSL Buffer<T>/RWBuffer<T>. - All the sensible casts I can think of are now defined in ue4_format - any additional ones can just be added. The enurm of formats needs to be exposed to MetalRHI so we upload the correct values, but this should be trivial. - Added a full series of wrappers around texturecube_array and depthcube_array to insulate code from whether it is backed by a real cube_array or a texture2d_array so we don't have to maintain complicated variants for new/old iOS devices. - Added implementations for a bunch of annoying HLSL & GLSL intrinsics that were being matched by name + reverse_bits which needs a custom implementation on old shader standards. Change 3650861 by Rolando.Caloca DR - vk - Fix warnings Change 3651116 by Rolando.Caloca DR - vk - Support for compressed saved PSO cache Change 3651321 by Rolando.Caloca DR - vk - Prep for load multiple PSO files Change 3651337 by Chris.Bunner Editor-only default material fallback (hardcoded material). #jira UE-48404 Change 3651839 by Rolando.Caloca DR - vk - Integrate minor pipeline changes Change 3652042 by Mark.Satterthwaite More work on mtlpp: - Selector class that caches IMP from SEL & Class. - Fixes to ns::Error. - Added test case application for testing denorm & float reinterpret-cast behaviour on Metal. Change 3652370 by Uriel.Doyon New "stat StreamingOverview" giving high level metrics of texture usage. New function ResetAverageRequiredTexturePoolSize() and GetAverageRequiredTexturePoolSize() giving the average ideal value for "r.streaming.poolsize". Change 3653658 by Chris.Bunner Material vertex interpolator for sprite and gpu sprite particles. Change 3653676 by Rolando.Caloca DR - vk - Integrate changes: Multiple PSO caches, shared ucode & compression, size reduction up to 80% Change 3653940 by Daniel.Wright Moved Volumetric Lightmap textures out of FScene and into FPrecomputedVolumetricLightmapData so their lifetime can match the MapBuildData. This allows tossing the source BulkData in game after RHI texture creation even though switching lighting scenarios does Release/InitializeRenderingResources multiple times. Change 3653956 by Daniel.Wright Fixed leak of BatchVisibilityId's Change 3653991 by Daniel.Wright Fixed missing include Change 3654013 by Daniel.Wright Refactored reflection capture composite SM4 handling, now forces fully rough even if !REFLECTION_COMPOSITE_USE_BLENDED_REFLECTION_CAPTURES (forward shading default) Change 3654018 by Daniel.Wright Remove unused SM4 reflection capture cubemap Change 3654118 by Rolando.Caloca DR - vk - Fix for queries; support for r.Vulkan.ProfileCmdBuffers to only time cmd buffers w/o gpu bubbles Change 3654339 by Chris.Bunner Temporarily disabed a material error whilst working with content teams to fix the introduced bugs. Change 3654534 by Daniel.Wright Editor is only supported on Feature Level 5 platforms. Added a message box and exit when SM4 is detected (d3d10, OpenGL 3). Change 3654751 by Rolando.Caloca DR - vk - Add readback for RGB10A2; minor optimization Change 3654940 by Rolando.Caloca DR - vk - Warning fix Change 3655104 by Mark.Satterthwaite Add a bunch of code to mtlpp to wrap the Xcode command-line Metal tools and use them to provide a convenient command-line tool that can compile two Metal shaders & diff the resulting AIR to make debugging easier. Obviously this only works on macOS. Change 3655173 by Jian.Ru Render dithered material as masked if a stencil prepass is not used #jira UE-50064, UE-49537 Change 3655479 by Daniel.Wright Fixed HandleLegacyMapBuildData not getting called on P maps loaded in the editor, which apparently was dropped in an integration error, causing all legacy maps (before the BuildData change) to lose their built lighting. Change 3656341 by Richard.Wallis Metal validation checks to test for drawing of the end of a vertex stream as seen in UE-48172 (Landscape Mesh Flickers Rapidly When Using Sculpting Landscape). This is not a fix for that but just a error log to catch the bad draw calls. #jira UE-48172 Change 3656844 by Rolando.Caloca DR - vk - Avoid microcode copy - Fix link error Change 3656894 by Rolando.Caloca DR - vk - Enable api dump without needing validation enabled Change 3656915 by Marcus.Wassmer Fix DX12 buffer lock for read Change 3657166 by Rolando.Caloca DR - vk - Proper fix for api dump layer Change 3657401 by Rolando.Caloca DR - vk - Linux compile fix Change 3657607 by Rolando.Caloca DR - vk - Prep for changes Change 3658722 by Chris.Bunner Refresh shared texture samplers when changing max ansiotropy level (e.g. scalability settings). #jira UE-30086 Change 3659499 by Daniel.Wright Moved bEnableAutoLODGeneration to LOD category so it's not the only one in HLOD category Change 3659644 by Mark.Satterthwaite D3D11 equivalent to 3656341 (only enabled when -d3ddebug is) to validate DrawIndexedPrimitives isn't trying to draw off the end of the instanced vertex streams which has inconsistent (and potentially undefined) behaviour across the various APIs we support. This fires when painting the landscape because the code attempts to render with a FirstInstance value that is as large as the number of elements in the instance-data streams which D3D11 drivers silently fails to render, but which Metal (& probably Vulkan too) will renders as garbage. This pattern is wrong & will be even more dangerous in a Draw*Indirect world. #jira UE-48172 Change 3659831 by Rolando.Caloca DR - vk - Copy 3657927 (fixes for Mali) Change 3661921 by Rolando.Caloca DR - vk - Minor log/info changes Change 3661985 by Mark.Satterthwaite Change the Metal sampler filter translation to better match D3D. Change 3662050 by Richard.Wallis Compile fix for Metal enums. Change 3662062 by Rolando.Caloca DR - Copy from 3662060 - OpenGL cloth fix Change 3662100 by Mark.Satterthwaite Use a temporary file and an atomic move to put the Metal PCH into the right place and reduce the number of false PCH compile failures on the build farm. Change 3662253 by Daniel.Wright Reflection Captures support Lighting Scenarios without recapturing * Reflection Captures are now part of the Map Build * Modifying a capture in editor will display a preview, but game can only display built captures (black for unbuilt with screen message) * Reflection Capture build data moved to the BuildData package * Building lighting / reflection captures no longer dirties ULevels * Sky lights which capture the scene now work correctly with Lighting Scenarios * Lighting Scenarios must now be loaded for each time they are made visible (no switching back and forth while keeping both loaded) Change 3663215 by Mark.Satterthwaite Initial, incomplete, tool added to mtlpp to help debug macOS Internal Compiler Errors - the mtlpp command-line tool can be fed the debug output from UE4 along with compiler settings to automatically compile shaders and construct the render pipeline that crashes the runtime compiler. So far only macOS render-pipeline-states are supported currently. Change 3663293 by Mark.Satterthwaite Added Metal device selection to the mtlpp command-line tool so I can quickly test compile on dual-GPU Macbook Pro's. Change 3663471 by Daniel.Wright Reflection Capture Builds no longer use UEditorLevelUtils::SetLevelVisibility to control level visibility, which streams out sublevels, modifying nav mesh Fixed status updates during Reflection Capture Build Captures overflowing GMaxNumReflectionCaptures now log a warning instead of pretending that they built successfully Change 3664056 by Rolando.Caloca DR - Linux compile fix Change 3664460 by Daniel.Wright Restored unused LoadTimesObjectVersion, packages saved with it will issue a warning on load Change 3664802 by Uriel.Doyon Fixed flash created by pre-exposure when the value changed dramatically between frames Change 3664890 by Daniel.Wright Created 'Stat MapBuildData' to track the memory size of lighting and reflection capture build outputs Change 3665163 by Rolando.Caloca DR - Copy from 3665156 - Gracefully fail when there are mem leaks exiting Vulkan Change 3665629 by Daniel.Wright Only Surface domain materials cast shadows in Lightmass Change 3665855 by Marcus.Wassmer PR #4032: Fix comparison of SceneColorFormat (Contributed by Hybrid0) Change 3666707 by Guillaume.Abadie Replaces some custom material node to get View.BufferSizeAndInvSize with ViewProperty material expression in some engine material functions. Change 3667239 by Rolando.Caloca DR - Use hlslcc define for common issues Change 3668108 by Brian.Karis Disabled to Catmull-Rom filter. Too many flickering issues. Disabled antiflicker as well. Change 3668157 by Mark.Satterthwaite In the prototype Metal stdlib extension library add inline versions of the D3D SM6 "wave" intrinsics that can be expressed in terms of Metal 2.0 simd/quad group operations (macOS=simd, iOS=quad). These are unlikely to be as efficient as direct intrinsics but they should be functionally equivalent. These functions are not available *yet* as I still need to hook the ue4_stdlib into MetalShaderFormat & MetalRHI. The following HLSL 6 functions are implemented: WaveAllBitAnd WaveAllMax WaveAllMin WaveAllBitOr WaveAllBitXor WaveAllEqual WaveAllProduct WaveAllSum WaveAllTrue WaveAnyTrue WaveBallot WaveGetLaneCount WaveGetLaneIndex WaveOnce WavePrefixProduct WavePrefixSum WaveReadFirstLane WaveReadLaneAt The following can't be implemented in Metal as of Metal 2.0 AFAIK: WaveGetOrderedIndex WaveIsHelperLane GlobalOrderedCountIncrement QuadReadLaneAt QuadSwapX QuadSwapY Change 3668260 by Olaf.Piesche Cache particle collision shaders regardless of simple forward state Missed this checkin #jira FORT-51307 Change 3669243 by Daniel.Wright Bumped shader version to propagate FReflectionCaptureData rename Change 3669369 by Mark.Satterthwaite Duplicating Metal changes from //UE4/Release-4.18 to Dev-Rendering (//UE4/Dev-Rendering) 3662503 Collapse system-variables to one declaration in MetalUtils to avoid later shader compiler errors when they are specified more than once, which is seemingly permissable. Fixes volumetric fog. #jira UE-50293 3665210 - Invalidate all Metal shaders again to force a recompile to workaround another driver bug. - On macOS compact the clip-distance value into a single output to avoid bugs in the runtime pipeline compilers. - In SCW's direct-compile mode MetalShaderForamt should always dump the resulting Metal shader and print any errors we encounter to the log. - Change FGenerateMetalVisitor to take a FMetalCodeBackend& not a FMetalCodeBackend* to avoid a lot of pointless pointer validation. #jira UE-50244 3665429 Fix a crash on shutdown due to MetalRHI caching vertex-declarations beyond the lifetime of the RHI by moving the cache into the FMetalDynamicRHI itself. #jira UE-50356 3665613 Fix DistanceField rendering on Metal & the associated validation layer error when it is enabled - MetalRHI can't use the same approach as Vulkan without a bit more work. #jira UE-50364 3667584 Fix black flickering on some materials that use World Position Offset - the Metal sincos intrinsic comes into two flavours for single precision floats and we want the precise version not the fast version. The "cross" implementation needed a few more fma's too and this change has to invalidate Metal shaders again to take effect. #jira UE-50399 3667805 Changing sincos in Metal fragment shaders had undesirable side-effects - the compiler is now re-associating another floating point operation - so limit the use of precise::sincos to vertex-shaders for now. This fixes the WPO materials without causing any other obvious problems. #jira UE-50399 Change 3669912 by Mark.Satterthwaite Fix Metal compilation for PCSS shadows - the HLSL that is compiled uses both SampleCmp and Sample which GLSL disallows (shadowSampler types in GLSL only allow SampleCmp) but is perfectly valid in Metal where only the texture type declaration changes. Duplicate MetalBackend.cpp changes from Joe.Graf's: 3667781 Fixed an extra ) being emitted during HLSL->Metal translation Added depthcube_array support per Mark's instructions Change 3670308 by Mark.Satterthwaite Missing autorelease pool blocks in MetalTexture functions. Change 3670989 by Mark.Satterthwaite Stop trying to be so clever with Metal clip-distances: AMD have a bug in 10.13.0 that means we can only emit one clip-distance value, so simply emit the value with the lowest index (we have handily ordered them by importance!) and let the others become user-interpolators until this bug is resolved in a macOS SU (according to Max@AMD the fix is in, just not in time for 4.18). This means planar reflections will work, VR no-multi-view-fallback will work & layered rendering will work either individually or together - the difference being that on macOS *only* the VR no-multi-view-fallback & layered rendering paths may be slower when combined with the global clip plane. Hit & run fix to MetalCaptureManager and availability of tile-shader functions while I'm here. #jira UE-50518 Change 3671014 by Mark.Satterthwaite Correct handling of RowLinearPVRTC blits for iOS Metal desired for Ocean. Change 3671575 by Rolando.Caloca DR - Copy 3668036 Stop syncing CPU with GPU on Vulkan Change 3671637 by Rolando.Caloca DR - Copy 3670937 Fixes Vulkan editor outline Change 3672309 by Mark.Satterthwaite Submitted on behalf of Richard Wallis: Only disable V-Sync on Metal in macOS 10.13 when running in "true" fullscreen mode (where we switch display modes & forbid switching spaces or tabbing out) so that you won't see the rainbow artefact caused by being out-of-sync with WindowServer, only the tearing you'd expect when V-Sync is disabled. We'll chat with Apple about whether there is a way to avoid the rainbow artefact when switching spaces in Windowed Fullscreen with displaySync disabled. #jira UE-50134 Change 3672314 by Daniel.Wright User friendly message dialog for when a required key is missing from BaseLightmass.ini Change 3672315 by Daniel.Wright Assert on load when a uniform buffer struct goes missing, instead of a crash on save Change 3672476 by Chris.Bunner Removed duplicate material instance editor command binding that appeared in a task stream merge. Change 3672626 by Mark.Satterthwaite Move the ue4_stdlib.metal extensions to MetalRHI's Public header directory as it'll need to be available to both modules and that's easier to accomplish from here. Change 3672643 by Mark.Satterthwaite iOS compilation fixes. Change 3672728 by Daniel.Wright Fixed encoded HDR reflection captures Change 3672753 by Jian.Ru Fix texture swimming #jira UE-49369 Change 3672815 by Daniel.Wright Tooltip for build button explaining why it might be disabled Change 3673350 by Rolando.Caloca DR - vk - Do not reallocate memory every draw call Change 3673501 by Rolando.Caloca DR - vk - Remove more reallocations Change 3673505 by Rolando.Caloca DR - Remove global variable with semantic Change 3673514 by Rolando.Caloca DR - vk - compile fix Change 3675899 by Chris.Bunner Fixed support for editor-time transient parameter overrides. This happens when a compiled material's scalar or vector parameter is changed in value only, the active material resources should also update and be reverted when the material graph is closed. The code was incorrectly pulling base parameters from expressions instead of the actual uniform. Change 3676843 by Arne.Schober DR - UE-49473 - Fix Stateleak caused by custom drawer in the long for loop, where the depth stencil state might not be reset in a subsequent itteration of the loop. Change 3678269 by Daniel.Wright Fixed Encoded HDR reflection capture data getting the wrong Brightness applied when cooking Change 3678543 by Daniel.Wright MapBuildData now tosses the unneeded reflection capture format on load. Affects target platforms that require multiple formats at cook time. Change 3679602 by Jian.Ru Fix up mesh decal shader complexity view mode #jira UE-50272 Change 3679959 by Chris.Bunner Fixed logic on overriden vector parameter retrieval for material instances checking a function owned parameter. #jira UE-50712 Change 3679998 by Daniel.Wright Fixed crash when precomputing static visibility only [CL 3680175 by Marcus Wassmer in Main branch]
2017-10-04 13:36:51 -04:00
#include "Materials/MaterialFunctionInstance.h"
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3807299) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3528776 by Yannick.Lange Allow thumbnails to be captured from a viewport always. #jira UE-45392 Change 3564359 by Yannick.Lange Back out part of changelist 3528776: Revert allowing thumbnails to be captured from a viewport to fix UE-47827 & UE-47785. #jira UE-47785, UE-47827 Change 3740671 by Matt.Kuhlenschmidt Make the font editor canvas respect dpi scale Change 3740810 by Josh.Engebretson PR #4138: Log GenerateProjectFiles to file when using UVS (Contributed by projectgheist) #jira UE-51358 Change 3740939 by Cody.Albert Fixing some #ifdefs that should be #ifs Change 3741089 by Alexis.Matte Make sure bImportBoneTracks is set to true when importing into level #jira UE-51999 Change 3741101 by Alexis.Matte Fix the import material search #jira UE-51857 Change 3741690 by Jamie.Dale Guard against an invalid index in SLocalizationCommandletExecutor::Tick #jira UE-52067 Change 3741710 by Jamie.Dale Made a static variable also const Change 3741724 by Michael.Dupuis Added missing shader cache Change 3742037 by Lauren.Ridge Details panels can now "own" a color picker so a different details panel refreshing doesn't close it. Also fixed refreshing state of the graph after changing texture or color parameter values Change 3742250 by Matt.Kuhlenschmidt PR #4185: Output Log Filter tooltip shows %s instead of category. (Contributed by LordNed) Change 3742308 by Lauren.Ridge Adding axis input to the material editor's viewport client Change 3742380 by Matt.Kuhlenschmidt USD importer improvements - USD now stores source file information for reimports - Fixed bug where no geometry would be imported if an exporter had set a time code even without animated data - Prevent a crash if a mesh doesnt have enough valid data to be imported Change 3742536 by Matt.Kuhlenschmidt Remove usd wrapper test project Change 3743564 by Alexis.Matte Fix skeletal mesh screen size auto set value when importing a LOD #test none #jira UE-52100 Change 3743582 by Lauren.Ridge Fixing non-desktop compiles Change 3743598 by Lauren.Ridge Fixing shadowed variable by renaming the global color picker weak ptr variable. Change 3743636 by Lauren.Ridge Creating a new parameter immediately allows naming Change 3743855 by Michael.Dupuis Added missing shader from cache Change 3744277 by Lauren.Ridge Don't show empty Global group if it only contained the material layer param. Change 3744330 by Lauren.Ridge Clarifying "no parameter" text Change 3744529 by Lauren.Ridge Making Save to Child and Save To Sibling buttons work for material layer params, show on material layer param panel Change 3744668 by Chris.Bunner Added shared layer input collection asset, a list of float/texture redirectors that allow setting globally in a material graph then retrieving within layer/blend graphs. Added output for number of unique shaders generated by a particular material instance. Show instruction counts when working on a material layer. Relaxed restrictions on material layers, base MA input is now optional. #jira UETOOL-1271, UETOOL-1278, UETOOL-1279 Change 3744669 by Chris.Bunner Added automated test for material layers, layer/blend instances and shared inputs. Change 3744754 by Laz.Matech Adding localization data to QAGame for the Realtime Preview localization test. #jira none Change 3744860 by Michael.Dupuis #jira UE-52049 : Do not update random stream in most case, only when adding new instances, or filling from built data Change 3744965 by Chris.Bunner Rebuilt lighting in automated test map and updated reflection capture screenshot. Change 3746015 by Michael.Dupuis #jira UE-52090: Added missing shader for forward rendering Change 3746038 by Michael.Dupuis #jira UE-51494: Make sure index is valid for this instance as instances from template and instance could mismatch due to in level changes Change 3746076 by Michael.Dupuis Removed unused code Change 3746998 by Tim.Gautier QAGame: - Renamed UMG_RealtimePreview > UMG_InEditorPreview - Moved UMG_InEditorPreview into UMG > Localization, setting up for future Localization tests Change 3747206 by Arciel.Rekman Linux: make UI scale more coarse to prevent unnecessary scaling (UE-52086). - Monitors whose physical dimensions fall in range of 80-110 DPI should still have scale=1.0. (Edigrating CL 3740942 from Release-4.18 to Dev-Editor) Change 3747211 by Arciel.Rekman Make failure to launch SCW more apparent to the user (UE-47263). - Fixes frequent crash on Linux. (Merging 3747070 from Release-4.18 to Dev-Editor) Change 3747726 by Tim.Gautier QAGame: Resubmitting updated Loc files Change 3747872 by Tim.Gautier QAGame: Resubmitting compiled Loc assets Change 3748118 by Lauren.Ridge Adding help text to the material layers preview tab Change 3748398 by Lauren.Ridge Fixing tooltips for the material layer read-only preview Change 3748565 by Arciel.Rekman Linux: fix RHIs settings being wrong when removed via project properties (UE-51203). - This was a deeper issue with config system than just Linux RHIs. - This is a better fix than one submitted to 4.18 branch in CL 3747086. Change 3749441 by Matt.Kuhlenschmidt PR #4201: Fix a typo in a comment. (Contributed by dneelyep) Change 3749442 by Matt.Kuhlenschmidt PR #4195: Incorrect specifier used for FText::Format (Contributed by projectgheist) Change 3749496 by Matt.Kuhlenschmidt Fix static analysis Change 3749805 by Lauren.Ridge Fixing reset to default on MaterialLayerParam in base material Change 3749838 by Lauren.Ridge Also correctly resetting names and layer states Change 3750442 by Mieszko.Zielinski Added a safety check which addresses the crash #UE4 Note that this is a temp fix. A proper fix is making sure ConvexShapeIndices doesn't contain any duplicates and will be inplemented in Dev-Framework. #jira UE-52123 Change 3752266 by Arciel.Rekman OpenGL: remove PLATFORM_WINDOWS exceptions. - Discrepancy in behavior between Windows and Linux OpenGL is unhelpful for bug reproducibility. - VAB bug should have been fixed long ago (on both platforms). Change 3752929 by Arciel.Rekman Linux: avoid crashing on unknown drivers. - See https://answers.unrealengine.com/questions/724100/crashes-on-startup-after-first-run.html - Checks in IsDeviceIntel() and such fail if the drivers were not detected. Change 3753254 by Michael.Dupuis Added missing shader for shader cache Change 3753426 by Michael.Dupuis #jira UE-5751: Added the possibility to change material instance exposed params at runtime using a MID for texture, vector and scalar for 1 component or all components Change 3753440 by Alexis.Matte Fix fbx scene importer morph target import crash #jira UE-52255 Change 3753457 by Michael.Dupuis build fix Change 3753700 by Chris.Bunner Make GetSharedInput preview fallback always available in editor as this should handle previews, thumbnails and other editor-only cases. Refactor to remove duplicate code in material translator. Material layer expressions are required for client load, fixes cooked builds using layer instances in the base material layer stack. Change 3754760 by Chris.Bunner Tidying up EngineTest/ShaderModels map. Change 3754765 by Arciel.Rekman Avoid placing tooltip windows under the cursor (UE-12288). - Fixes inability to use some corners of the screen on Linux (the tooltips there aren't click-through). Change 3754788 by Matt.Kuhlenschmidt Fix details panel crash after compiling blueprints that have edit conditon properties Change 3754933 by Christina.TempelaarL Fixed typo in heightLerp (transistion->transition). #jira UE-46736 Change 3754946 by Cody.Albert Update loading movie code to properly calculate delta time when throttled at 60fps Change 3755059 by Jamie.Dale Fixed game preview language not updating in realtime while PIE was enabled #jira UE-52209 Change 3755130 by Jamie.Dale Fixed game preview language not updating from native when switching between preview languages #jira UE-52348 Change 3755664 by Michael.Dupuis Fixed compile warning Change 3755714 by Yannick.Lange Always allow capturing thumbnails from viewport. This also hides the thumbnail editing UI when a thumbnail was captured from a viewport. Change 3755944 by Alexis.Matte Fix crash when importing morph target with "built in" tangent option #jira UE-52319 Change 3756109 by Christina.TempelaarL fixed FBX importer Import Textures tooltip, UMaterial -> Material in tooltip text #jira UE-48389 Change 3756169 by Jamie.Dale Added plural form pattern to SContentBrowser::GetPathText Change 3756493 by Laz.Matech Updating Localization content to further test InEditor Preview Language in UMG #jira none Change 3758336 by Alexis.Matte Fix a crash when importing morph target there was a unsync between some buffer depending on the import options #jira UE-52319 Change 3758947 by Jamie.Dale Fixed cursor position regression in search boxes This was caused by a call to SetText that was added in CL# 3627864 This caused the text to update as it was changed, which made the cursor jump to the end of the text and made it impossible to type in the middle of a search term. This was done as a bound FText value had been passed to the InitalText of SSearchBox, which made the text resolution behave strangely. InitalText should always be a value, and SSearchBox now resolves any bindings during its constructor. #jira UE-48874 Change 3759000 by Laz.Matech Submitting the .PO file for CL 3756493 #jira none Change 3759480 by Matt.Kuhlenschmidt Safe guard against brush details crash #jira UE-52278 Change 3759665 by Matt.Kuhlenschmidt PR #4214: UE-52249: Use valid PreviewShadowsIndicatorMaterialName (Contributed by projectgheist) Change 3761211 by Matt.Kuhlenschmidt Remove the restriction that a level must be writable to be locked/unlocked. Fixed duplicate icons being used by the level browser Change 3761304 by Chris.Bunner MaterialAttributeLayers graph node BaseMA input is no longer required. Note: Requires "Use Preview Value" set to true on inputs. Change 3761307 by Chris.Bunner New material layers and blends will have "Use Preview Value" set to true by default to avoid the need for connected inputs - Missed file on previous commit. Change 3761357 by Chris.Bunner Renamed material shared input enum. Change 3761419 by Chris.Bunner Updating material layers automated test assets after recent changes. Reverted some naming changes so existing screenshot tests can be reused. Change 3762058 by tim.gautier QAGame: Adding Material Layer assets for testing (Content/Materials/LayerFunction) Change 3763328 by Matt.Kuhlenschmidt Fix Slate warning at editor startup Change 3763354 by Alexis.Matte Fix skeletal mesh material assign when reducing a LOD that was import from a file using simplygon reduction #jira UE-52505 Change 3763501 by Matt.Kuhlenschmidt Prevent shared asset thumbnail pools from having their resources forcefully released when they are in use. ReleaseResources is now private and only called on destruction of the pool Change 3763574 by Matt.Kuhlenschmidt Fix slate material box brushes not being keyed off image size #jira UE-40219 Change 3763678 by Jamie.Dale Disable realtime level editor viewport if running under remote desktop This makes the main editor window much more responsive by default under remote desktop Change 3763679 by Jamie.Dale Added asset caching metrics for the loc gather Change 3763693 by Matt.Kuhlenschmidt Changed the code that activates the actor details tab when selection changes to a flash. There are simply too many things that change the selection and steal focus away from a tab being used #jira UE-51754 Change 3763826 by Michael.Dupuis Fixed Fortnite cooking crash Change 3763864 by Harrison.Moore Adding New Default 'LayerBlend' assets Change 3764028 by Christina.TempelaarL #jira UE-47695 Auto LOD bug Moved the sections dropdown to the LOD Picker category and modified Custom cb behavior, based on suggestions from charlie. Change 3764031 by Christina.TempelaarL #jira UE-47695 Auto LOD in StaticMeshViewer moved LOD combo widget to LOD picker category and hide custom checkboxes until custom checked. Change 3764076 by tim.gautier QAGame: Submitting UMG_Multitouch_test for initial Multitouch testing Change 3764263 by Matt.Kuhlenschmidt Fix the floor mesh thumbnail Change 3764284 by Chris.Bunner Removing some asserts for cases that can validly fail and are already handled. Change 3764372 by Matt.Kuhlenschmidt PR #4196: Show edit icons in editor (Contributed by projectgheist) Change 3764388 by Chris.Bunner Fixing logic for material, function and instance updating active materials and instances and their editors. Change 3764674 by Harrison.Moore test materials added, Blend updates Change 3764681 by Harrison.Moore Adding HMtest map Change 3766238 by Chris.Bunner Material layer callers need to let their internal material function calls update their inputs/outputs. Change 3766556 by Jamie.Dale Fixed crashes that could happen if some of the data table panels were closed We now always create the underlying widgets, even if they're currently hidden from view #jira UE-52552 Change 3767753 by Chris.Bunner When rebuilding a material function instance editor we must re-create and re-apply the proxies as the expressions have likely changed. Take care to maintain local parameter changes as these have not been saved yet. Change 3768719 by Michael.Dupuis #jira UE-52521: Prevent possible crash if a segment have no point or invalid point Change 3769157 by Jamie.Dale Fixed incorrect text selection if selecting via double click beyond the bounds of the line It would previously select the second to last word, rather than the last word #jira UE-51609 Change 3769159 by Harrison.Moore Belica Test update, New layer blends updated with texture type fix. Change 3769205 by Jamie.Dale Fixed Windows file save dialog not appending the correct extension when there were multiple options available #jira UE-52180 Change 3769220 by Harrison.Moore Layer blend tweaks Change 3769292 by Jamie.Dale Removing redundant code Applying the correct package ID, only to then strip it off again is rather pointless Change 3769479 by Arciel.Rekman UBT: Use response files for compiler when compiling for Linux. - Some command lines are too long when cross-compiling on Windows. Change 3769920 by Arciel.Rekman Linux: convert yet another initialization crash to a user-friendly message (UE-52457). #jira UE-52457 Change 3771055 by Alexis.Matte Make sure we set the Used by morph target material flag to material use by the morphtarget instead of all skinned mesh component Use the morph vertex factory only for section that has active morph target #jira UE-51483 Change 3771135 by Michael.Dupuis Fixed fortnite cooking Change 3773054 by Yannick.Lange Avoid loading viewport interaction assets when starting the editor. Change 3774184 by Arciel.Rekman Linux: disabled some gdb visualizers until the issue is fixed. - CL 3773942 by CengizT. Change 3774303 by Matt.Kuhlenschmidt Pull requests to fix various typos Change 3774305 by Matt.Kuhlenschmidt PR #4237: Visual Studio Repeatedly Opens (UE-51608) (Contributed by LordNed) #jira UE-51608 Change 3774701 by Arciel.Rekman OpenGL: fix ARB callback errors when hitting Build Lighting. - Merged from 4.18 shelf. Change 3775812 by Matt.Kuhlenschmidt Fix One-off crash undo-ing while working with Material Params / Material Functions #jira UE-52680 Change 3775849 by Matt.Kuhlenschmidt More info for UE-52610 Change 3775850 by Matt.Kuhlenschmidt Guard against mesh paint crashes #jira UE-52618 Change 3775904 by Matt.Kuhlenschmidt Added logging to track down window shutdown issues Change 3775913 by Matt.Kuhlenschmidt Pull requests for typos #jira UE-52751, UE-52748 Change 3776676 by Jamie.Dale Fixed being able to insert tabs into spin boxes with units #jira UE-52776 Change 3777006 by Michael.Trepka Process Mac windowDidBecomeMain and windowDidResignMain notifications immediately instead of deferring them. This solves issues with Slate code that closes and immediately opens new menu windows. Previously closing a window would schedule menu parent's activation event that could be processed after another menu's creation, making it immediately disappear. #jira UE-52145 Change 3777170 by Arciel.Rekman Linux: use Xft.dpi (most desktop environments expose their scale through that) as a DPI value (UE-52086, UE-52766). - Change by Brandon.Schaefer. - Limitation: no per-monitor DPI. (Edigrating CL 3776509 //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3777292 by Arciel.Rekman Linux: fix symbol collision causing problems with AMD drivers (UE-51843). - We cannot have elf_end() hidden, because libcuda.so calls elf_end from libnvidia-fatbinaryloader.so and this breaks linking monolithic binaries ("hidden symbol referenced in DSO"). - We cannot have elf_end() visible, because of a name collision with a different libelf used by AMD drivers. - The only possible workaround is to have elf_end() renamed. (Edigrating CL 3777242 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3777686 by Joe.Conley Blueprint editor variable type tooltips: fix case mismatch that was preventing type name to be displayed properly in soft object/class reference tooltips. Change 3778180 by Jamie.Dale Avoid a crash if a regex pattern or matcher outlive ICU during shutdown #jira UE-52770 Change 3778182 by Jamie.Dale Avoid a crash if a break iterator outlives ICU during shutdown Change 3778368 by Jamie.Dale Added missing pragma once Change 3778560 by Matt.Kuhlenschmidt Prevent non-shared DDC notification from triggering for epic internal builds Change 3778709 by Lauren.Ridge Copying 4.18.2 array reordering propagating to children fix (originally 3778547) Change 3779205 by Lauren.Ridge Duplicating 3776649 to fix a crash on compile due to partial GC of a widget. #jira UE-52260 Change 3779217 by Brandon.Schaefer GitHub #3678 Fix Setup.sh handling of special characters in PNG path #jira UE-46103 Change 3779341 by Brandon.Schaefer GitHub #3012 Use elemtry OS versions to set the ubuntu versions for depencies #jira UE-39364 Change 3780274 by Joe.Conley DataTables: Add documentation tooltips showing type information to header columns Change 3780840 by Alexis.Matte Do a re-import when user re-import LOD 0 Prevent importing more then MAX_SKELETAL_MESH_LODS #jira UE-52373 Change 3781067 by Arciel.Rekman Linux: fix OSSSteam cross-compilation (and CIS). - Broken by previous change that put compile-time arguments into response file and bulk-replaced \ with /, which affected things like Definitions.Add("STEAM_SDK_VER_PATH=TEXT(\"Steam" + SteamVersion + "\")"); Change 3781110 by Christina.TempelaarL #jira UE-47695 moved Static Mesh Editor LOD menu from tools to viewport tool bar Change 3781531 by Christina.TempelaarL #jira UE-47695 added LOD menu to Static Mesh Editor viewport Change 3781663 by Alexis.Matte Fix for cancel export fbx when previewing animation sequence export #jira UE-49743 Change 3782007 by Jamie.Dale Improved the ability to lockdown available game languages In addition to the previous "DisabledCultures" array, you can now add an array of "EnabledCultures" (using the same per-build config filters) to explicitly list the cultures that are allowed to be used in your build (if the list is empty, then everything is allowed unless otherwise disabled). This also stops the game from attempting to fallback to the native language if the native language has been disabled (we will fallback to the first available language instead). Change 3782122 by Jordan.Walker test assets for material layers Change 3782131 by Joe.Graf Added support for IOS and TVOS targets when generating CMake files on Mac Change 3782218 by Christina.TempelaarL fixing include paths and capitalization causing build errors. Change 3783171 by Michael.Dupuis Added the possibility to override default LOD rules for visible primitive and whole scene shadow casting primitive Added the possibility to store Custom data per view for the frame duration Change 3783172 by Michael.Dupuis #jira UE-35097 : Refactored landscape rendering logic to improve general performance while using new custom data and custom lod feature Exposed many new settings to control component using sub sections rendering, tessellated component, shadow should be include into tessellation, tessellation falloff based on camera location Changed how LOD distribution is done to be in screen size instead of distance. Give the possibility to have a different distribution for LOD0 vs the other one. Change 3783174 by Michael.Dupuis missing file to landscape refactor Change 3783315 by Lauren.Ridge Changing a parameter in the Material Parameter Panel now dirties the material correctly. Changing a layer parameter in the Material Instance Editor now refreshes the details panel as well. Change 3783374 by Chris.Bunner Adding MaterialSharedInputCollection to hidden list when MaterialLayers disabled. Change 3783617 by Chris.Bunner Added a Channel Mask material expression parameter. Wraps up a vector parameter and dot product with a single channel selection interface, internally a regular vector parameter. Fixed GetSharedInput failing to return the preview texture in the Function Instance editor. Change 3783676 by Lauren.Ridge Adding access to a material function instance's parent in the Material Instance Editor Change 3783751 by Michael.Trepka PR #4248: Fixed C++ std in generated Xcode project to match rest of engine (C++14) (Contributed by Bo98) Change 3783971 by Brandon.Schaefer Rename/Move all deploy/Deploy folder/files into AlembicDeploy. Due to case sensitivity on linux, need to maintain the correct case. #jira UE-37631 Change 3783992 by Michael.Dupuis #jira UE-35097: Remove tessellation on editor tools Fixed a case where tessellation multiplier at 0 would cause the component to not be visible Fixed minor tessellation falloff calculation error Change 3784502 by Chris.Bunner Restored missing bool setter. Coding standards fix. Change 3784614 by Arciel.Rekman Linux: better error message when running out of inotify watches (UE-50459). #jira UE-50459 Change 3784620 by Chris.Bunner Updated LayerBlend_TextureMask to use new ChannelMask parameter. Change 3784725 by Lauren.Ridge Fixing groups not sorting correctly Change 3785645 by Chris.Bunner Non-editor compile fix. Change 3785666 by Arciel.Rekman Linux: restore ability to use Wayland instead of X11. - SDL libs recompiled and Wayland version is set to lower one to be compatible with the compositor shipped on Ubuntu 16.04 LTS - Change by Anthony.Bills. Change 3785708 by Arciel.Rekman Linux: implement voice capture using SDL (non-server only) (UE-51298). - Based on pull request #4131 by mkirzinger. Change 3785878 by Arciel.Rekman UBT: add VSCode to default generators on Linux. Change 3786058 by Arciel.Rekman Do not add dependencies on other RHIs for servers (UE-48894). - Pull request #3944 contributed by pfoote. #jira UE-48894 Change 3786845 by Arciel.Rekman Code changes to make gcc support easier (UE-51978). - Contributed by a licensee (pull request #4181 by tomwardio "Collection of fixes to allow UE4 to be compiled by GCC on Linux"). Change 3786871 by Matt.Kuhlenschmidt Fix static analysis Change 3786883 by Matt.Kuhlenschmidt Fix HTML5 Change 3786923 by Matt.Kuhlenschmidt Fix engine layer blend asset referencing game content. This is not allowed #jira UE-52888 Change 3786927 by Brandon.Schaefer Linux: Alembic support #jira: UE-37631 Change 3786994 by Arciel.Rekman Remove support for /-prefixed switches (UE-47429). - They collide with absolute file paths on Mac/Linux and a source of inconsistencies between platforms. #jira UE-47429 Change 3787032 by Michael.Trepka Initial support for building and running Niagara on Mac Change 3787035 by Brandon.Schaefer GitHub #4166 Undef GL entrypoint macros after use #jira UE-51663 Change 3787144 by Lauren.Ridge Fixing material parameter group association resetting after undo #jira UE-52514 Change 3787839 by Jordan.Walker updated engine level layer blends to not include game content switched them to use Chris B's new mask selection node Change 3787967 by Lauren.Ridge Fix for broken layer groups, related crash Change 3787991 by Lauren.Ridge Fixing thumbnails for material function instances, resolving not being able to delete new function instances #jira UE-52967 Change 3788226 by Michael.Trepka Fixed a deadlock when closing Mac CrashReportClient which resulted from changes in CL 3777006 #jira UE-53002 Change 3788557 by Brandon.Schaefer Fix shadow compiler warnings around our includes Change 3789700 by Lauren.Ridge Experimental setting for turning on Material Layers - off by default. Change 3789703 by Jamie.Dale Harden the LocMeta and LocRes loading to prevent loading files that are too new Change 3789706 by Jamie.Dale Added localization ID to the package summary This will allow the localization gatherer to query it without having to load the entire package Change 3789708 by Jamie.Dale Added a way to display and reset the package localization ID via the Content Browser Change 3789709 by Jamie.Dale Added warning for duplicate package localization IDs when gathering asset localization Change 3789713 by Jamie.Dale Special case zero-width space in the text shaper to avoid fonts rendering the fallback glyph Change 3789736 by Christina.TempelaarL Fixed recently-introduced StaticMeshEditor bug - changing LOD dropdown menu selection was not changing LOD sections category. Change 3789853 by Chris.Bunner Material instances should return overridden values when the caller is requesting the default, not leaving the request to fall through to the base material. #jira UE-52796 Change 3790185 by Brandon.Schaefer Add better error handling when using new SDK for linux on windows. #jira UE-50527 Change 3790195 by Jamie.Dale Fixed line-ending inconsistency when retrieving rich-text We were using LINE_TERMINATOR when getting the offsets, but \n when getting the text Change 3790473 by Chris.Bunner When finding expression by GUID, only return FunctionCall result if expression was found. Fixes cases where searched-for expression is after a FunctionCall in the expressions list. #jira UE-52729 Change 3790650 by Arciel.Rekman UBT: Linux: print build details first before refusing to build. - Tweak to the previous feature that we forgot. Change 3790681 by Arciel.Rekman UBT: Linux: tweaks to wording (SDK -> toolchain). Change 3791459 by Brandon.Schaefer Linux: libcurl rebuild for version 7.57 #jira OGS-870 Change 3791533 by Arciel.Rekman Better error messaging when UMB is unusable (UE-50658). - Should be replaced by a better fix, but merging this workaround in case the better fix will not be done in time for 4.19. (Edigrating CL 3789387, 3789787 from Release-4.18 to Dev-Editor) Change 3791885 by Matt.Kuhlenschmidt Fix static analysis #jira UE-53097 Change 3791910 by Brandon.Schaefer Fix for not using proper libraries on x86_64 for libcurl #jira OGS-870 Change 3792017 by Jamie.Dale Fixed a conflict between the path settings and favorite settings Change 3792022 by Jamie.Dale Fixed a crash that could happen when performing ARO on the property chains of a struct #jira UE-52999 Change 3792025 by Jamie.Dale Changed package summary localization ID to be versioned by the object version to avoid changing data in unversioned cooked assets Change 3792066 by Michael.Dupuis #jira UE-5751: Fixed possible crash when using dynamic matrial instance Added missing shaders for landscape when using tessellation Change 3792718 by Arciel.Rekman OpenGL: bringing back Windows workarounds to unblock copy-up (UE-52534). #jira UE-52534 Change 3793018 by Mike.Erwin new glTF importer plugin Import StaticMesh, Material, and Texture assets from the Khronos glTF 2.0 format. Text (.gltf) and binary (.glb) files are supported. Limitations: - There is no options UI. All assets from the file are imported. - The glTF format can describe animation and whole scenes, but the initial version of this plugin does not attempt either. - Data encoded as Base64 data URI is not supported. This is uncommon but is part of the glTF spec. #jira: UE-50695 Change 3793626 by Matt.Kuhlenschmidt Logging for HTML5 issue Change 3794034 by Matt.Kuhlenschmidt Fix CIS Change 3794271 by Michael.Dupuis #jira UE-53133: Fxed shadow calculation when using non whole scene shadow Change 3794273 by Chris.Bunner Function call material nodes should be created with no outputs by default. #jira UE-53127, UE-53128, UE-52616 Change 3794334 by Lina.Halper - Fix animation reinitializing when just setting new animation with single node - Deprecated GetScalarParameterDefault and replace that with GetScalarParameterDefaultValue #jira: UE-52796 Change 3794338 by Michael.Dupuis Fixed lod visual popping when texture mip used for landscape is not ready Change 3794350 by Mike.Erwin Fix glTF importer header includes. Build was failing on Linux. Change 3794357 by Michael.Dupuis #jira UE-53166: buildfix: removed phase 2 landscape optim leftover... Change 3794549 by Michael.Dupuis #jira UE-53166 : fixed compile error Change 3794755 by Matt.Kuhlenschmidt Fix automation warning Change 3794910 by Lina.Halper Change material default value to be red to keep the behavior same. - Previous code was getting default value of parent, which was wrong, but now since we're grabbing correct value, it's not doing what it meant to do. Changed content to keep same value as parent as default. Change 3795296 by Mike.Erwin glTF: fix Linux build errors A variable was being shadowed. The other errors are due to an obscure corner of the C++ spec which clang enforces. https://stackoverflow.com/questions/21900237/do-i-really-need-to-implement-user-provided-constructor-for-const-objects #jira UE-53204 Change 3797313 by Chris.Bunner Re-built lighting in Rendering/ShaderModels automated test map and updated failing screenshots. #jira UE-53198 Change 3803962 by Jamie.Dale Fixed struct instances not comparing against the correct default values when gathering for localization Change 3804771 by Michael.Dupuis Back out changelist 3783171 Change 3804772 by Michael.Dupuis Back out changelist 3783172 Change 3805258 by Michael.Dupuis Added missing shader cache for landscape Change 3806105 by Matt.Kuhlenschmidt Disable harware benchmarking during automation tests, commandlets, and on the build machine Change 3806438 by Michael.Dupuis #jira UE-53228: Fixed rendering path of new landscape optim when using GDoInitViewsLightingAfterPrepass(used in Orion) Change 3806577 by Matt.Kuhlenschmidt Change plugin uploading to crash reporter to only do so in editor builds Change 3806588 by Michael.Dupuis Remove temp test version in landscape version Change 3806900 by Jamie.Dale Fixed 'inconsistent DLL linkage' error when using older versions of Python 2.7 #jira UE-53353 Change 3807125 by Jamie.Dale Fixed UBT warning after Dev-Core merge Change 3807299 by tim.gautier QAGame: Checking in test asset M_LandscapeMaterial_Foliage, quicker repro for UE-53442 [CL 3807911 by Matt Kuhlenschmidt in Main branch]
2017-12-14 10:07:13 -05:00
#include "Settings/EditorExperimentalSettings.h"
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3944462 by Jack.Porter Prevent TVOS packaging from PC from attempting to build an asset catalog #jira UE-56114 Change 3943602 by Leslie.Nivison Adding licenses for additional TPS #jira none Change 3943597 by Leslie.Nivison Adding Enterprise licenses; licenses for additional TPS. #jira none Change 3941962 by Leslie.Nivison Updating 4.19 credit list #jira none Change 3941865 by Mark.Satterthwaite Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI. - Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs. - Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer. #jira UE-56021 Change 3940993 by Marc.Audy Do not return the last column if the specified column does not exist. Allow display names to be used when looking for a property if the table is backed by a user defined struct. Do not crash if a property with the given name is not found. #jira UE-56017 Change 3939179 by Ben.Marsh Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance. #jira Change 3938566 by Aaron.McLeran #jira UE-55940 Fix for wavetable synth Missed a case. Change 3938533 by Dan.Oconnor Fix uninitialized variable exposed by recent MallocTBB change #jira UE-56013 Change 3938508 by Aaron.McLeran Fixing CIS error, init order issues. #jira UE-55940 Change 3938490 by Aaron.McLeran #jira UE-55940 Fix for wavetable synth Change 3938352 by josh.jensen Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified #jira UE-55987 Change 3938345 by Peter.Sauerbrei fix to Icons not being built on Mac #jira UE-53492 Change 3938305 by Mark.Satterthwaite For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied. #jira UE-56005 Change 3937968 by Ben.Marsh Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file. #jira UE-56003 Change 3937573 by Mitchell.Wilson Saving asset to resolve empty asset warning. #jira UE-56004 Change 3937561 by Max.Preussner ImgMedia: Added support for single-threaded platforms Copied from Dev-Sequencer CL# 3937516 #jira UE-55986 Change 3937305 by Mike.Beach Resaving google VR model content with UGS build to fix the empty file version error. #jira UE-55984 Change 3935595 by Arne.Schober Fix missing UV precission on BSP surfaces #jira UE-54014 Change 3935411 by josh.jensen Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory #jira UE-55899 Change 3934982 by Marc.Audy Fix shadow variable issue #jira UE-55957 Change 3934892 by Mark.Satterthwaite In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands. #jira UE-55956 Change 3934421 by Arciel.Rekman Fix lockup/OOM when setting audio sources to 2 (UE-53968). #jira UE-53968 Change 3934156 by Peter.Sauerbrei fix for backgrounding problems on iOS and tvOS this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup #jira UE4-55609 Change 3933547 by Aaron.McLeran #jira UE-55940 Fix for wavetable sample duration and seek Change 3933544 by Aaron.McLeran #jira UE-55939 Hiding channel format Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19. Change 3933540 by Aaron.McLeran #jira UE-55718 Fix for playback progress. Change 3933280 by Ethan.Geller [Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran Change 3933079 by Ryan.Vance #jira UE-55936 Fixed missing referenced uniform bindings on AR pass-through camera shaders. Change 3932319 by Ben.Zeigler #jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package It now keeps track of which packages were created by the async load system and will only throw those away on cancel Copy of CL #3932312 Change 3932287 by Matt.Kuhlenschmidt Updated substance texture #jira UE-55081 Change 3931729 by josh.jensen Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build #jira UE-55899 Change 3929723 by josh.jensen Removed packaging requirement on Windows of a remote Mac after setting an app icon to default #jira UE-53495 Change 3929722 by josh.jensen Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects #jira UE-53492, UE-51879 #robomerge Change 3929350 by Mike.Erwin "Save As" support for #jira UE-55732 Change 3927829 by Steve.Robb Out-of-memory handler for MallocStomp. #jira UE-55550 Change 3926404 by Mike.Erwin #jira UE-55732 Change 3926394 by Dan.Oconnor Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode #jira UE-55813 Change 3926098 by Guillaume.Abadie Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security. #jira UE-55697 Change 3925927 by Guillaume.Abadie Enables TAA's AA_BORDER on all permutation for dynamic resolution. #jira UE-55353 Change 3925882 by Matt.Kuhlenschmidt Fix substance uri having one extra / Fix substance menu option showing up for github (incompatible with plugin) #jira UE-55766 Change 3925873 by Ben.Zeigler #jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly Copy of CL #3925871 Change 3925163 by Guillaume.Abadie Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly. #jira UE-55788 Change 3924839 by Guillaume.Abadie Fixes a crash of LDR android preview with OS DPI scale != 0. #jira UE-43622 Change 3924542 by Cosmin.Sulea Merged fixes: UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7 UE-51086 - No clear editor activity during remote shader compiling #jira UE-55299 Change 3922398 by Mark.Satterthwaite Compile fix for 3922273. #jira UE-53993 Change 3922273 by Mark.Satterthwaite Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size. #jira UE-53993 Change 3921127 by Ethan.Geller [Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran Change 3920632 by Lina.Halper Fix render thread crash when morphtarget is deleted or added #jira: UE-55521 Change 3920557 by Lauren.Ridge Fixing material editor resetting background to off #jira UE-55267 Change 3920519 by Phillip.Kavan Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code. Change summary: - Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value. #jira UE-55628 Change 3920476 by Michael.Trepka Clean up Mac menu item cache at exit before SlateApplication is fully destroyed. #jira UE-55599 Change 3920336 by Ben.Marsh Ignore license warnings from PVS-Studio. #jira UE-55729 Change 3920134 by Jurre.deBaare Moving over: "HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not #fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings" #jira UE-55619 Change 3920126 by Max.Preussner MediaCompositing: Implemented media track for Sequencer Copied from Dev-Sequencer #jira UE-53974 Change 3920004 by Jack.Porter Disable Manual Vertex Fetch SRV creation when MVF is disabled. Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it. Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed. #jira UE-54764 #jira UE-55622 Change 3919069 by Aaron.McLeran #jira UE-55718 Fix for playback progress. Change 3918942 by Graeme.Thornton Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled. #jira UE-55686 Change 3918721 by Zak.Parrish Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none Change 3918236 by Joe.Graf Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face #jira: UE-55531 Change 3917970 by Martin.Wilson Expose curve data in remap assets to blueprints #jira UE-55585 Change 3917740 by Olaf.Piesche Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances); #jira UE-55591 Change 3917713 by Cody.Albert Build fixes for Match3 on iOS #jira UE-53742 Change 3917472 by zak.parrish added mouthPressLeft and MouthPressRight back into debug screen #jira none Change 3917244 by Michael.Dupuis #jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node Change 3916775 by Ben.Marsh Add missing files for packaging IOS on Windows. #jira UE-53873 Change 3916293 by Joe.Graf Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class #jira: UE-55531 Change 3916011 by Joe.Graf Added an accessor to get the transform of the face mesh or a face mesh component #jira: UE-55531 Change 3915967 by Mark.Satterthwaite Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world. #jira UE-54858 Change 3915751 by Nick.Atamas Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/... #jira UE-55639 Change 3915421 by Martin.Wilson Fix crash from live link message bus heartbeat manager #jira UE-55644 Change 3915326 by Dan.Oconnor Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions #jira UE-55592 Change 3915250 by JeanLuc.Corenthin Can't add C++ code to Enterprise projects (when enterprise is installed) Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path) Fix: - Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against - Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories. - Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise. #jira UEENT-1032 Change 3915240 by Ben.Marsh Reduce editor startup times by ~15s on Windows. Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array. Now spends <0.1s total in this function on editor startup. (Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header). #jira UE-55642 Change 3914803 by Gil.Gribb UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug. #jira UE-49600 Change 3914616 by zak.parrish Adding Calibrate button #jira none Change 3914599 by Andrew.Rodham Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 Change 3914479 by Krzysztof.Narkowicz Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows #jira UE-53875 Change 3914347 by Martin.Wilson Stop anim preview instance from ever running in parallel #Jira UE-55577 Change 3914179 by Benn.Gallagher Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data. #jira UE-55528 Change 3914122 by Steven.Barnett Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message. #jira UE-54081 Change 3913950 by zak.parrish Clamping my normalization math #jira none Change 3913926 by Zak.Parrish First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none Change 3913668 by Matt.Kuhlenschmidt Adding missing substance styling info #jira UE-55081 Change 3913667 by Nick.Atamas Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/... Upgrading to support ARCore 1.0 runtime. #jira UE-55602 Change 3913645 by Aaron.McLeran #jira UE-55618 fix for mono audio devices Change 3913509 by Cody.Albert Removing PhsX build exclusion from Match3 #jira UE-53742 Change 3913380 by Dan.Oconnor Preload Sequence Bindings node at proper time #jira UE-55412 Change 3913300 by Mitchell.Wilson Updating iOS default startup movie to H.264, 1280x720, 30 fps. #jira UE-55382 Change 3913291 by Cody.Albert More iOS build fixes for Match3 #jira UE-53742 Change 3913169 by Cody.Albert Fixed iOS build issues for UnrealMatch3 #jira UE-53742 Change 3913131 by Krzysztof.Narkowicz Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity) #jira UE-54580 Change 3912851 by Lina.Halper Fixed issue with pose asset blending additively multiple poses suming up to 1 weight. #jira: UE-55603 Change 3912629 by Guillaume.Abadie Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera. #jira UE-55353 Change 3912170 by Martin.Wilson Add logging for UE-55511 (NaN crash) #jira UE-55511 Change 3912161 by Phillip.Kavan Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation. Change summary: - Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class. - Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it. #jira UE-55474 Change 3912100 by Luke.Thatcher [RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19 #jira UE-55340 Change 3912072 by Mike.Beach Art cleanup pass on AR template icon. #jira UE-55587 Change 3912057 by Michael.Trepka Additional widget path validity check in FSlateUser::NotifyWindowDestroyed() #jira UE-55580 Change 3911592 by Jurre.deBaare Crash on merge actor when Use specific LOD Level #fix make sure we use the correct array to determine the number of components being merged #jira UE-55508 Change 3911466 by Cosmin.Sulea Mega change list for the following related issues: UEMOB-417 - Support Xcode automagical code signing UE-49829 - Remote build fails to use / sign distribution provisions coming from PC UE-39501 - Packaging for tvOS in Distribution fails to find valid provision UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions UE-55330 - Automatic signing doesn't work with tvOS UE-10969 - Remote build fails if there is no development provision provided #jira UEMOB-417 Change 3911454 by Luke.Thatcher [RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData - FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible. - The SubSections array is leaked when the memstack is popped. - Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4). (Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...) #jira UE-54835 Change 3911370 by Dragan.Jerosimovic changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight updated KiteBoyHead_JointsAndBlends.fbx #jira none Change 3910545 by Dan.Oconnor PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb) #jira UE-55513 Change 3910449 by Michael.Trepka Fix for crash on exit on Mac when closing the root editor window with Cmd+W #jira UE-54973 Change 3909601 by Patrick.Boutot Expose to Blueprint GetProjectDirectory functions. #jira UE-55548, UEENT-999 Change 3909543 by Patrick.Boutot Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse. Python's help function now output the Python type instead of the cpp type. Do not export hidden enum entry from Python. #jira UE-55545, UEENT-961 Change 3909289 by Zak.Parrish Adding shirt/chest to faceAR sample #jira none Change 3908808 by Dragan.Jerosimovic added combination shapes network #jira none Change 3908788 by Mitchell.Wilson Updaing Match3Camera to resolve clipping issue on iPhone X #jira UE-54723 Change 3908374 by Jack.Porter Fix viewport offset problem for preview PIE window #jira UE-52583 Change 3907108 by Shane.Caudle #JIRA Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile] +CVars=r.ShadowQuality=4 Change 3907105 by Lauren.Ridge Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null #jira UETOOL-1303 Change 3907011 by Chris.Phillips UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher. #jira UE-52667 Change 3906792 by Lauren.Ridge When constructing the material editor viewport, use the direct method to set the environment visibility. #jira UE-55267 Change 3906734 by Chris.Babcock Fix issue with vertex fetch disable #jira UE-55475 Change 3906721 by Rolando.Caloca UE4.19 - Check if the results file from SCW is corrupt #jira UE-53124 Change 3906648 by Chris.Phillips UE-53184 Assertion when running mobile PIE in iPhone 5S mode. Updated the iPhone5s.json Metal settings. #jira UE-53184 Change 3906474 by David.Hibbitts Added default constructor for FLiveLinkWorldTime. #jira UEENT-879 #rb none Change 3906467 by Lauren.Ridge Swapping sibling materials now correctly swaps the overridden parameters out #jira nojira demobug Change 3906156 by Michael.Trepka Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed. #jira UE-52492 Change 3906144 by Michael.Dupuis #jira UE-54547: Added guard to be sure that material is valid Change 3905882 by Matt.Kuhlenschmidt Enable substance buttons again #jira UE-55081 Change 3905513 by Sorin.Gradinaru UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression #jira UE-55394 #jira UE-52328 #iOS #4.19 This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings - the game thread is waiting for the movie to complete on game shutdown - more that 5 sec - crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed - HTTP module no longer has time to wait for the requests to complete. Change 3905506 by Michael.Dupuis Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0 #jira 0 Change 3905498 by Lina.Halper Fix multiple pose asset issue - fallout from CL 3903509 - as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine - as for additive, change to use blend from identity. #jira: UE-55439, UE-55448, UE-55250 Change 3905325 by Sorin.Gradinaru UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat" #jira UE-54764 #4.19 Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720). Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers) Change 3905307 by Jack.Porter Removed iPhone5 PIE json file as it's not a supported device #jira UE-53184 Change 3905132 by Shane.Caudle #JIRA Pushed it a little more out of the yellow. Change 3905117 by Shane.Caudle #JIRA Got SSS working and made some tweaks. Change 3904936 by Max.Chen Fix editor only #jira UE-55459 Change 3904269 by Chris.Babcock Disable manual vertex fetch on mobile #jira UE-55389 #ue4 #android #ios Change 3904186 by Lina.Halper Pose asset crash when skeleton not existing during serialization #jira: UE-55422 Change 3904063 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. Copy from Dev-Sequencer #jira UE-55314 Change 3904060 by Lauren.Ridge Fix for saving a child out of a layer stack capturing the wrong parameters #jira UETOOL-1280 Change 3904050 by Luke.Thatcher [CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19) - Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes. - The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread. - This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread. - The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc. #jira UE-55437 Change 3904004 by Lauren.Ridge Fix for material layer output nodes being able to be placed in other graphs #jira UE-54867 Change 3903931 by Aaron.McLeran #jira UE-55435 Crash in google resonance when toggling visualization fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1 Change 3903722 by David.Hill The ProxyLOD plugin is experimental: don't load it by default. #jira: ue-55402 Change 3903583 by Ben.Marsh Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries. #jira Change 3903529 by Richard.Hinckley #jira UEDOC-7180 4.19 API Documentation manual update. Change 3903509 by Lina.Halper Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/ #DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction. #jira: UE-55250 Change 3903501 by Michael.Dupuis #jira UE-55122: Fixed bad neighbors updating for mobile Change 3903387 by Will.Fissler ; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation. ;r.XGEShaderCompile = 0 #jira UE-55286 Change 3903251 by Sungjin.Hong #JIRA UE-55349 #loc added KO locallization for VR, Handheld AR templates Change 3903219 by Adrian.Siminciuc https://jira.it.epicgames.net/browse/UE-54738 removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI #jira UE-54738 #iOS Change 3903130 by Cody.Albert Updated build configuration to resolve iOS build error on UnrealMatch3 #jira UE-53742 Change 3903056 by Shane.Caudle #JIRA Latest tweaks to lighitng and rendering for boy. Change 3903032 by Cody.Albert Added missing include that was preventing iOS builds from succeeding on TopDown template #jira UE-54341 Change 3902669 by Lauren.Ridge Fix for thumbnail crash after saving material instances that contain layers #jira crash Change 3902581 by Mitchell.Wilson Updating Samples and Template Min iOS Version to iOS 9. #jira UE-55148 Change 3902448 by Lauren.Ridge Fix for crash due to unparented material instance #jira crash Change 3902206 by Chris.Phillips UE-52612 External textures only work in pixel shaders. Sampling external textures are now only limited to pixel shaders when the shader model is < SM4. #jira UE-52612 Change 3902120 by Peter.Sauerbrei bvringing over the fix for backgrounding crash on iPhone X from Fortnite #jira UE-54883 Change 3902097 by Lina.Halper Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/ #DUPE MERGE: CL 3901939 #jira: UE-55401 Change 3902082 by Mike.Beach Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3901963 by Peter.Sauerbrei bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader #jira UE-52797 Change 3901959 by Ethan.Geller [Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren Change 3901482 by Lauren.Ridge Fix for crash on opening materials due to array out of bounds #jira crash Change 3901181 by Michael.Dupuis #jira UE-55313: To enable tessellation we MUST have 2 materials in the list Change 3900935 by Nick.Bullard Updating Default_Startup.mp4 with more recent UE branding. This still requires another update for final version with audio #jira UE-55382 Change 3900660 by Aaron.McLeran #jira UE-55381 crash in sound submix Bringing fix from FN to 4.19 (CL 3890630) Change 3900643 by Aaron.McLeran #jira UE-55380 fixing synth envelopes Change 3900617 by Aaron.McLeran #jira UE-55151 Fixing crash w/ mic component Change 3900544 by tim.gautier QAGame: Submitting asset for AsNumber fix submitted with UE-10310 #jira UE-29618 Change 3900430 by Ryan.Brucks KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone. #JIRA none Change 3900399 by Lauren.Ridge Fixing global parameters not working #jira UE-55242 Change 3900297 by Ben.Marsh Speculative fix for hot reload causing version files to be updated with a locally made installed build. #jira UE-55072 Change 3900116 by Chris.Bunner Removing outdated tests and test assets. #jira UETOOL-1298 Change 3900042 by Chris.Bunner Deleted SharedInputCollection and associated material graph nodes. #jira UETOOL-1298 Change 3899887 by Lauren.Ridge Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work. #jira UE-55267 Change 3899824 by Chris.Phillips UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data. Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels. #jira UE-52813 Change 3899775 by Lauren.Ridge Fix for crash on opening material layer material #jira crash Change 3899673 by Jamie.Dale Fixed Functions sometimes being exposed to Python as if they were Structs #jira none Change 3899487 by Chris.Bunner Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag. #jira UETOOL-1298 Change 3899156 by Phillip.Kavan Include address of object reference in persistent frame debug info. #jira UE-51952 Change 3899146 by Rolando.Caloca UE4.19 - hlslcc - Workaround for intrinsics with two output arguments #jira UE-52477 Change 3899060 by Bart.Hawthorne Add a null check for the game mode pointer in UWorld::SpawnPlayActor #jira UE-54461 Change 3899015 by Krzysztof.Narkowicz Fixed initialization of instancing random vertex stream. #jira UE-53605 Change 3899008 by Michael.Dupuis Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1 #jira 0 Change 3898994 by Phillip.Kavan More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection. #jira UE-51952 Change 3898962 by Guillaume.Abadie Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic. #jira UE-55352 Change 3898826 by Sorin.Gradinaru UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin #4.19 #Android #jira UE-54784 Wrong code to make an integer even + operator precedence Change 3898822 by Sorin.Gradinaru UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests #jira UE-52328 #jira FORT-70783 #iOS #PC #4.19 UE-52328 reopened because of FORT-70783 iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server. Change 3898705 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3898108 by Michael.Dupuis #jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening Change 3898076 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3897897 by Matt.Kuhlenschmidt Disable substance buttons for now #jira UE-55081 Change 3897742 by Aaron.McLeran Merging fix for UE-55223 to 4.19 #jira UE-55223 Change 3897538 by Michael.Dupuis #jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material Change 3897406 by Phillip.Kavan Back out local debug logs. #jira UE-51952 Change 3897400 by Phillip.Kavan Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage. - Mirrored from //UE4/Dev-Core (3871863). #jira UE-51952 Change 3897391 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897274 by Krzysztof.Narkowicz Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future. #jira UE-54683 Change 3897148 by Adrian.Siminciuc https://jira.it.epicgames.net/browse/UE-55147 #4.19 #iOS #jira UE-55147 Change 3897138 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Copy from Dev-Sequencer #jira UE-55309 Change 3897045 by Jack.Porter Fix for crash in ALandscapeProxy::UpdateGrass #jira UE-54362 Change 3897036 by Jack.Porter Fix InstancedStaticMesh crash with invalid lightmap coordinates #jira UE-54423 Change 3896801 by Dmitriy.Dyomin Fixed: Planar reflections does not handle origin rebasing #jira UE-52351 Change 3896743 by Dmitriy.Dyomin Discard CPU copy of vertex/index buffers in OpenGL RHI #jira UE-52133 Change 3896619 by Guillaume.Abadie Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV. #jira UE-55317 Change 3895718 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3895426 by Rolando.Caloca UE4.19 - Add an increased timeout for SCW to avoid OOM situations #jira UE-55306 Change 3895245 by tim.gautier QAGame: Submitting updated test assets. Broke ML_Base out into individual components #jira UE-29618 Change 3895194 by Marc.Audy Prevent crash due to a null entry in the linked to graph of the destination pin #jira UE-54606 Change 3894913 by Arne.Schober REL - Fix crash in Speedtree wind where Renderdata is unavailable #jira UE-54544 Change 3894625 by Arne.Schober REL - Fix assert not in RenderingThread from Triangle Renderer. #jira UE-55247 Change 3894464 by Martin.Wilson Extra debugging info for UE-54705 plus remove check so it is no longer fatal #jira UE-54705 Change 3894450 by Martin.Wilson Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node #jira none Change 3893948 by Jostin.Bilyeu Adding default player start location to help with launch on testing within level TM-Materials_POM #jira UE-55063 Change 3893495 by Robert.Manuszewski Fixing a crash when running DDC commandlet #jira UE-54646 Change 3893451 by Jurre.deBaare Altered fix for actor merging with negative scaling to get correct normals #jira UE-54996 #misc updated automated test to include this test-case Change 3892913 by Ethan.Geller [Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran Change 3892871 by Ryan.Vance Multi-view requires the day dream compositor. #jira UE-55253 Change 3892785 by Arciel.Rekman Linux: fix inability to create a C++ project (UE-55222). - NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds. - Installed build will check for more compilers in commonly found locations. #jira UE-55222 Change 3892687 by Jostin.Bilyeu Checking in replacement Built Data for map TM-Materials_POM #jira UE-55063 Change 3892674 by Jostin.Bilyeu Adding an invisible plane to TM-Materials_POM to help testing on mobile devices #jira UE-55063 Change 3892622 by Aaron.McLeran #jira none Fixing scope lock in phonon probe volume Change 3892511 by Matt.Kuhlenschmidt Fix zero engine version warning #jira UE-55081 Change 3892211 by Yuriy.ODonnell Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64. NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime. The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules. The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput. Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668). #jira UE-53065 Change 3891732 by Brian.Zaugg Re-adding iPhoneX launch images with correct case. #JIRA UE-53541 Change 3891727 by Arne.Schober REL - Do not recreate one Frame Resource for dynamic draws #jira UE-55063 Change 3891716 by Ben.Marsh Fix buffer overrun when generating callstack. #jira Change 3891697 by Brian.Zaugg Deleting iPhoneX launch images that have incorrect case. #jira UE-53541 Change 3891678 by Brian.Zaugg IPP binaries for iPhoneX support. #jira UE-53541 Change 3891525 by Lauren.Ridge Thumbnails now update correctly w/parameters #jira UETOOL-1333 Change 3891520 by Lauren.Ridge Fixing SA error in material editor #jira UE-55206 Change 3891495 by Jurre.deBaare Normal are different after Merge Actor on scaled objects #fix Make sure we do not apply scale when transform Normals/Tangents #jira UE-54996 Change 3891352 by Guillaume.Abadie Fixes ensure when visualizing HDR with TAAU. #jira UE-55019 Change 3891323 by Matt.Kuhlenschmidt Added substance buttons to content browser and material editor #jira UE-55081 Change 3891033 by David.Hibbitts #JIRA UE-55135 Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations. Change 3890642 by Arne.Schober REL - Better fix for Paper2d which honors batching #jira UE-55063 Change 3890593 by Arne.Schober REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead. #jira UE-55063 Change 3890502 by Mike.Erwin Fix reported VRAM size on Metal We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes. This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0. Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that. Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB. #jira none Change 3890404 by Jostin.Bilyeu Updating Demo Display names to remove redundant spaces #jira UE-29618 Change 3890401 by Dan.Oconnor Fix for property table performance regression #jira UE-54984 Change 3890194 by Dan.Oconnor Make sure a CDO's subobjects are preloaded when running in -game #jira UE-54242 Change 3890182 by Krzysztof.Narkowicz Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path. #jira UE-54683 Change 3890140 by Rob.Cannaday Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19 Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018 #jira none Change 3889850 by Shaun.Kime Now initializing Niagara scripts and emitters even if the config file isn't ready yet. #jira UE-54168 #jira UE-54169 #tests can create a blank emitter and all script sub-types Change 3889833 by Michael.Trepka Disabled Clang's unused-lambda-capture warning added in Xcode 9.3 #jira none Change 3889696 by Patrick.Boutot Allow rename from AssetTool when there is no source control enabled. Fix crash when you rename an asset without an enabled source control. #jira UEENT-803 Change 3889470 by Mike.Beach Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query). #jira UE-55153 Change 3889319 by Matt.Kuhlenschmidt Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly #jira UE-55166 Change 3889087 by Jostin.Bilyeu Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up #jira UE-29618 Change 3889073 by Sorin.Gradinaru UE-55117 Android virtual keyboard can have text input hidden by software buttons #jira UE-55117 #Android #4.19 Adjusted x-coord and width for the native EditText Change 3888841 by Jurre.deBaare Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function #jira none Change 3888837 by Guillaume.Abadie Fixes a crash in dynamic resolution when doing UE4Editor -server #jira UE-55158 Change 3888831 by Dragan.Jerosimovic added fbx files #jira none Change 3888340 by Ethan.Geller [Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron Change 3888133 by Michael.Karambelas QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471. #jira UE-29618 Change 3887957 by Krzysztof.Narkowicz "Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack #jira UE-54367 Change 3887912 by Jostin.Bilyeu Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels #jira UE-29618 Change 3887571 by Zak.Parrish Adding FaceAR content and cleanup #jira none Change 3887458 by Dan.Oconnor Fix 'Step Out' functionality for macro and collapsed graphs #jira UE-55000, UE-55002, UE-55022 Change 3886883 by zachary.wilson Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling. #jira UE-29618 Change 3886848 by Max.Preussner Engine: Workaround for uninitialized external textures causing white flashes in media playback Copied from Fortnite-Main and Dev-Sequencer #jira UE-53357 Change 3886720 by Matt.Kuhlenschmidt Guard against mac menus updating during slow tasks. #jira UE-55068 Change 3886657 by Guillaume.Abadie Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation. This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation. #jira FORT-69961 Change 3886653 by Matt.Kuhlenschmidt Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored #jira UE-55111 Change 3886621 by Benn.Gallagher Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus. #JIRA UE-55067 Change 3886552 by Thomas.Sarkanen Fixed crash loading an anim instance with a re-instanced class Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us. #jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521] Change 3886442 by Cosmin.Sulea UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling #jira UE-53033 Change 3886441 by Cosmin.Sulea UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager #jira UE-54598 Change 3886427 by Sorin.Gradinaru UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552 #4.19 #Android #jira UE-54139 S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash. Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags) Change 3886210 by Ethan.Geller [Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM. Change 3886005 by Zak.Parrish Checking in faceAR work on behalf of 3Lateral #jira none Change 3885925 by Mike.Erwin Material preview label off-center on HiDPI screen #jira UE-52533 Change 3885778 by Dan.Oconnor Fix stepping over collapsed graph and macro nodes #jira UE-54950, UE-54955 Change 3885713 by Mike.Erwin glTF: fix material using wrong textures Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures. Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model. #jira none Change 3885603 by Ben.Marsh Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode. #jira Change 3885566 by Phillip.Kavan Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code. Change summary: - Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization. #jira UE-55061 Change 3885481 by Mark.Satterthwaite Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier). #jira UE-54333 Change 3885461 by Lauren.Ridge Fix for slot not being initialized to null #jira UE-55069 Change 3885455 by zak.parrish Adding initial files for FaceAR scene lookdev #jira none Change 3885446 by Zak.Parrish Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none Change 3885424 by Krzysztof.Narkowicz Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread. #jira UE-53861 Change 3885406 by Zak.Parrish Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639 Change 3885340 by Arne.Schober REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack #jira none Change 3885143 by Marc.Audy Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19 #jira UE-54977 #jira UE-54976 #jira UE-54898 Change 3885093 by Mark.Satterthwaite Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds. #JIRA N/A Change 3884622 by Jurre.deBaare Moving over missing file from changelist for UE-54508 #jira UE-54508 Change 3883391 by Nick.Atamas Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled. Only create ARKit/ARCore tracking systems on iOS/Android. #jira UE-54622 Change 3883257 by Phillip.Kavan Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types. #jira UE-55026 Change 3883024 by Lauren.Ridge Fixing static analysis warning #jira SA Change 3882510 by Michael.Dupuis #jira none : Fixed screen size calculation to take aspect ratio into account correctly Change 3882502 by Lauren.Ridge Fix for material layer parameters not rebuilding and adding save child button #jira UETOOL-1275 Change 3882458 by Krzysztof.Narkowicz Copying cached shadow map assert fix from Fortnite-Main (CL3802813) #jira UE-54747 Change 3882366 by Michael.Karambelas QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests. #jira UE-29618 Change 3881971 by andrew.porter QAGame: Removing actor from Shot_003 #jira UE-29618 Change 3881795 by Krzysztof.Narkowicz Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows #jira UE-53875 Change 3881550 by David.Hibbitts #JIRA UEENT-879 Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed. THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile. Change 3881339 by Jurre.deBaare Moving over: "Editor crashed when attempting to bake out all the material channels #jira UE-54508 #misc small UDN Merge actor / bake material fixes Change 3879557 by Dan.Oconnor Fix stepover behavior when no debug target is selected #jira UE-54978 Change 3879485 by Mike.Beach Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes). #jira UE-54999 Change 3879438 by David.Hibbitts #JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau Change 3879343 by Lina.Halper Last min change that skiped compiling #jira: none Change 3879337 by Lina.Halper Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. #jira: UE-54806 Change 3878968 by Phillip.Kavan Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization. Change summary: - Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties. #jira UE-54981 Change 3878962 by Adrian.Siminciuc https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license) #4.19 #jira UE-54831 #android - shows an error message box informing that the license file could not be written. Change 3878821 by Andrew.Rodham Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3878171 by Chris.Phillips Android: Fixed crash after splash screen when using Vulkan. #jira UE-54299 Change 3877950 by Ethan.Geller Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron Change 3877859 by Nick.Shin rebuilt lighting for TM-ShaderModels and resaved the level #jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5 Change 3877854 by tim.gautier Adding additional (temp) ML Test asset #jira UE-29318 Change 3877609 by Ethan.Geller [4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron Change 3877474 by Lauren.Ridge Adding WITH_EDITOR wrappers to editor-only section of code #jira fixingcompiles Change 3877271 by Arne.Schober REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary #jira none Change 3877260 by Lina.Halper If revision is too far away, ignore the request and send current buffer - this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens #jira: UE-54398 Change 3876950 by Lauren.Ridge Renaming layers in a material instance - from 4.19 preview feedback #jira UETOOL-1296 Change 3876932 by Arciel.Rekman Linux: updated the link to the cross-toolchain (UE-54597). #jira UE-54597 Change 3876918 by Phillip.Kavan Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled. Change summary: - Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class. - Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL. #jira UE-54870 Change 3876759 by tim.gautier Updated Material Layer test assets to include Opacity and Emissive. #jira UE-29318 Change 3876575 by Michael.Karambelas Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes. #jira UE-29618 Change 3876406 by Robert.Manuszewski Fixed a crash when reporting linker errors #jira UE-51037 Change 3875891 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. #jira UE-54914 Change 3875880 by Aaron.McLeran #jira UE-54916 Fixing up submix effect templates Change 3875673 by Brandon.Schaefer Fix Apex dependencies Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs #jira UE-54861 Change 3875498 by Lauren.Ridge PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux) #jira UE-54862 Change 3875322 by tim.gautier Recreating Material Layer test assets (asset version has changed) #jira UE-29318 Change 3875157 by Aaron.McLeran #jira UE-54901 Synth components do not allow sends to buses Change 3875103 by Brandon.Schaefer Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries #jira UE-54815 Change 3875037 by Aaron.McLeran #jira UE-54896 Fixing up audio capture component to parameterize the delay Parameterize the jitter latency delay. Change 3875026 by Aaron.McLeran #jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops Change 3874927 by Ryan.Vance #jira UE-54894 Ensure we don't delete aliased texture resources, they are managed externally. Change 3874925 by Martin.Wilson Remove XR post fix from live link code written during motion controller integration #jira none Change 3874354 by Ben.Marsh Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings. #jira UE-54272 Change 3877545 by Ben.Marsh Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying. Use similar logic for expanding ensure() macros in place. #jira UE-54961 [CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
#include "ContentBrowserModule.h"
#include "Styling/AppStyle.h"
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3944462 by Jack.Porter Prevent TVOS packaging from PC from attempting to build an asset catalog #jira UE-56114 Change 3943602 by Leslie.Nivison Adding licenses for additional TPS #jira none Change 3943597 by Leslie.Nivison Adding Enterprise licenses; licenses for additional TPS. #jira none Change 3941962 by Leslie.Nivison Updating 4.19 credit list #jira none Change 3941865 by Mark.Satterthwaite Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI. - Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs. - Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer. #jira UE-56021 Change 3940993 by Marc.Audy Do not return the last column if the specified column does not exist. Allow display names to be used when looking for a property if the table is backed by a user defined struct. Do not crash if a property with the given name is not found. #jira UE-56017 Change 3939179 by Ben.Marsh Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance. #jira Change 3938566 by Aaron.McLeran #jira UE-55940 Fix for wavetable synth Missed a case. Change 3938533 by Dan.Oconnor Fix uninitialized variable exposed by recent MallocTBB change #jira UE-56013 Change 3938508 by Aaron.McLeran Fixing CIS error, init order issues. #jira UE-55940 Change 3938490 by Aaron.McLeran #jira UE-55940 Fix for wavetable synth Change 3938352 by josh.jensen Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified #jira UE-55987 Change 3938345 by Peter.Sauerbrei fix to Icons not being built on Mac #jira UE-53492 Change 3938305 by Mark.Satterthwaite For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied. #jira UE-56005 Change 3937968 by Ben.Marsh Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file. #jira UE-56003 Change 3937573 by Mitchell.Wilson Saving asset to resolve empty asset warning. #jira UE-56004 Change 3937561 by Max.Preussner ImgMedia: Added support for single-threaded platforms Copied from Dev-Sequencer CL# 3937516 #jira UE-55986 Change 3937305 by Mike.Beach Resaving google VR model content with UGS build to fix the empty file version error. #jira UE-55984 Change 3935595 by Arne.Schober Fix missing UV precission on BSP surfaces #jira UE-54014 Change 3935411 by josh.jensen Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory #jira UE-55899 Change 3934982 by Marc.Audy Fix shadow variable issue #jira UE-55957 Change 3934892 by Mark.Satterthwaite In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands. #jira UE-55956 Change 3934421 by Arciel.Rekman Fix lockup/OOM when setting audio sources to 2 (UE-53968). #jira UE-53968 Change 3934156 by Peter.Sauerbrei fix for backgrounding problems on iOS and tvOS this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup #jira UE4-55609 Change 3933547 by Aaron.McLeran #jira UE-55940 Fix for wavetable sample duration and seek Change 3933544 by Aaron.McLeran #jira UE-55939 Hiding channel format Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19. Change 3933540 by Aaron.McLeran #jira UE-55718 Fix for playback progress. Change 3933280 by Ethan.Geller [Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran Change 3933079 by Ryan.Vance #jira UE-55936 Fixed missing referenced uniform bindings on AR pass-through camera shaders. Change 3932319 by Ben.Zeigler #jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package It now keeps track of which packages were created by the async load system and will only throw those away on cancel Copy of CL #3932312 Change 3932287 by Matt.Kuhlenschmidt Updated substance texture #jira UE-55081 Change 3931729 by josh.jensen Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build #jira UE-55899 Change 3929723 by josh.jensen Removed packaging requirement on Windows of a remote Mac after setting an app icon to default #jira UE-53495 Change 3929722 by josh.jensen Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects #jira UE-53492, UE-51879 #robomerge Change 3929350 by Mike.Erwin "Save As" support for #jira UE-55732 Change 3927829 by Steve.Robb Out-of-memory handler for MallocStomp. #jira UE-55550 Change 3926404 by Mike.Erwin #jira UE-55732 Change 3926394 by Dan.Oconnor Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode #jira UE-55813 Change 3926098 by Guillaume.Abadie Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security. #jira UE-55697 Change 3925927 by Guillaume.Abadie Enables TAA's AA_BORDER on all permutation for dynamic resolution. #jira UE-55353 Change 3925882 by Matt.Kuhlenschmidt Fix substance uri having one extra / Fix substance menu option showing up for github (incompatible with plugin) #jira UE-55766 Change 3925873 by Ben.Zeigler #jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly Copy of CL #3925871 Change 3925163 by Guillaume.Abadie Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly. #jira UE-55788 Change 3924839 by Guillaume.Abadie Fixes a crash of LDR android preview with OS DPI scale != 0. #jira UE-43622 Change 3924542 by Cosmin.Sulea Merged fixes: UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7 UE-51086 - No clear editor activity during remote shader compiling #jira UE-55299 Change 3922398 by Mark.Satterthwaite Compile fix for 3922273. #jira UE-53993 Change 3922273 by Mark.Satterthwaite Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size. #jira UE-53993 Change 3921127 by Ethan.Geller [Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran Change 3920632 by Lina.Halper Fix render thread crash when morphtarget is deleted or added #jira: UE-55521 Change 3920557 by Lauren.Ridge Fixing material editor resetting background to off #jira UE-55267 Change 3920519 by Phillip.Kavan Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code. Change summary: - Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value. #jira UE-55628 Change 3920476 by Michael.Trepka Clean up Mac menu item cache at exit before SlateApplication is fully destroyed. #jira UE-55599 Change 3920336 by Ben.Marsh Ignore license warnings from PVS-Studio. #jira UE-55729 Change 3920134 by Jurre.deBaare Moving over: "HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not #fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings" #jira UE-55619 Change 3920126 by Max.Preussner MediaCompositing: Implemented media track for Sequencer Copied from Dev-Sequencer #jira UE-53974 Change 3920004 by Jack.Porter Disable Manual Vertex Fetch SRV creation when MVF is disabled. Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it. Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed. #jira UE-54764 #jira UE-55622 Change 3919069 by Aaron.McLeran #jira UE-55718 Fix for playback progress. Change 3918942 by Graeme.Thornton Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled. #jira UE-55686 Change 3918721 by Zak.Parrish Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none Change 3918236 by Joe.Graf Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face #jira: UE-55531 Change 3917970 by Martin.Wilson Expose curve data in remap assets to blueprints #jira UE-55585 Change 3917740 by Olaf.Piesche Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances); #jira UE-55591 Change 3917713 by Cody.Albert Build fixes for Match3 on iOS #jira UE-53742 Change 3917472 by zak.parrish added mouthPressLeft and MouthPressRight back into debug screen #jira none Change 3917244 by Michael.Dupuis #jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node Change 3916775 by Ben.Marsh Add missing files for packaging IOS on Windows. #jira UE-53873 Change 3916293 by Joe.Graf Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class #jira: UE-55531 Change 3916011 by Joe.Graf Added an accessor to get the transform of the face mesh or a face mesh component #jira: UE-55531 Change 3915967 by Mark.Satterthwaite Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world. #jira UE-54858 Change 3915751 by Nick.Atamas Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/... #jira UE-55639 Change 3915421 by Martin.Wilson Fix crash from live link message bus heartbeat manager #jira UE-55644 Change 3915326 by Dan.Oconnor Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions #jira UE-55592 Change 3915250 by JeanLuc.Corenthin Can't add C++ code to Enterprise projects (when enterprise is installed) Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path) Fix: - Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against - Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories. - Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise. #jira UEENT-1032 Change 3915240 by Ben.Marsh Reduce editor startup times by ~15s on Windows. Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array. Now spends <0.1s total in this function on editor startup. (Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header). #jira UE-55642 Change 3914803 by Gil.Gribb UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug. #jira UE-49600 Change 3914616 by zak.parrish Adding Calibrate button #jira none Change 3914599 by Andrew.Rodham Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 Change 3914479 by Krzysztof.Narkowicz Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows #jira UE-53875 Change 3914347 by Martin.Wilson Stop anim preview instance from ever running in parallel #Jira UE-55577 Change 3914179 by Benn.Gallagher Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data. #jira UE-55528 Change 3914122 by Steven.Barnett Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message. #jira UE-54081 Change 3913950 by zak.parrish Clamping my normalization math #jira none Change 3913926 by Zak.Parrish First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none Change 3913668 by Matt.Kuhlenschmidt Adding missing substance styling info #jira UE-55081 Change 3913667 by Nick.Atamas Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/... Upgrading to support ARCore 1.0 runtime. #jira UE-55602 Change 3913645 by Aaron.McLeran #jira UE-55618 fix for mono audio devices Change 3913509 by Cody.Albert Removing PhsX build exclusion from Match3 #jira UE-53742 Change 3913380 by Dan.Oconnor Preload Sequence Bindings node at proper time #jira UE-55412 Change 3913300 by Mitchell.Wilson Updating iOS default startup movie to H.264, 1280x720, 30 fps. #jira UE-55382 Change 3913291 by Cody.Albert More iOS build fixes for Match3 #jira UE-53742 Change 3913169 by Cody.Albert Fixed iOS build issues for UnrealMatch3 #jira UE-53742 Change 3913131 by Krzysztof.Narkowicz Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity) #jira UE-54580 Change 3912851 by Lina.Halper Fixed issue with pose asset blending additively multiple poses suming up to 1 weight. #jira: UE-55603 Change 3912629 by Guillaume.Abadie Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera. #jira UE-55353 Change 3912170 by Martin.Wilson Add logging for UE-55511 (NaN crash) #jira UE-55511 Change 3912161 by Phillip.Kavan Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation. Change summary: - Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class. - Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it. #jira UE-55474 Change 3912100 by Luke.Thatcher [RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19 #jira UE-55340 Change 3912072 by Mike.Beach Art cleanup pass on AR template icon. #jira UE-55587 Change 3912057 by Michael.Trepka Additional widget path validity check in FSlateUser::NotifyWindowDestroyed() #jira UE-55580 Change 3911592 by Jurre.deBaare Crash on merge actor when Use specific LOD Level #fix make sure we use the correct array to determine the number of components being merged #jira UE-55508 Change 3911466 by Cosmin.Sulea Mega change list for the following related issues: UEMOB-417 - Support Xcode automagical code signing UE-49829 - Remote build fails to use / sign distribution provisions coming from PC UE-39501 - Packaging for tvOS in Distribution fails to find valid provision UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions UE-55330 - Automatic signing doesn't work with tvOS UE-10969 - Remote build fails if there is no development provision provided #jira UEMOB-417 Change 3911454 by Luke.Thatcher [RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData - FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible. - The SubSections array is leaked when the memstack is popped. - Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4). (Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...) #jira UE-54835 Change 3911370 by Dragan.Jerosimovic changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight updated KiteBoyHead_JointsAndBlends.fbx #jira none Change 3910545 by Dan.Oconnor PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb) #jira UE-55513 Change 3910449 by Michael.Trepka Fix for crash on exit on Mac when closing the root editor window with Cmd+W #jira UE-54973 Change 3909601 by Patrick.Boutot Expose to Blueprint GetProjectDirectory functions. #jira UE-55548, UEENT-999 Change 3909543 by Patrick.Boutot Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse. Python's help function now output the Python type instead of the cpp type. Do not export hidden enum entry from Python. #jira UE-55545, UEENT-961 Change 3909289 by Zak.Parrish Adding shirt/chest to faceAR sample #jira none Change 3908808 by Dragan.Jerosimovic added combination shapes network #jira none Change 3908788 by Mitchell.Wilson Updaing Match3Camera to resolve clipping issue on iPhone X #jira UE-54723 Change 3908374 by Jack.Porter Fix viewport offset problem for preview PIE window #jira UE-52583 Change 3907108 by Shane.Caudle #JIRA Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile] +CVars=r.ShadowQuality=4 Change 3907105 by Lauren.Ridge Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null #jira UETOOL-1303 Change 3907011 by Chris.Phillips UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher. #jira UE-52667 Change 3906792 by Lauren.Ridge When constructing the material editor viewport, use the direct method to set the environment visibility. #jira UE-55267 Change 3906734 by Chris.Babcock Fix issue with vertex fetch disable #jira UE-55475 Change 3906721 by Rolando.Caloca UE4.19 - Check if the results file from SCW is corrupt #jira UE-53124 Change 3906648 by Chris.Phillips UE-53184 Assertion when running mobile PIE in iPhone 5S mode. Updated the iPhone5s.json Metal settings. #jira UE-53184 Change 3906474 by David.Hibbitts Added default constructor for FLiveLinkWorldTime. #jira UEENT-879 #rb none Change 3906467 by Lauren.Ridge Swapping sibling materials now correctly swaps the overridden parameters out #jira nojira demobug Change 3906156 by Michael.Trepka Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed. #jira UE-52492 Change 3906144 by Michael.Dupuis #jira UE-54547: Added guard to be sure that material is valid Change 3905882 by Matt.Kuhlenschmidt Enable substance buttons again #jira UE-55081 Change 3905513 by Sorin.Gradinaru UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression #jira UE-55394 #jira UE-52328 #iOS #4.19 This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings - the game thread is waiting for the movie to complete on game shutdown - more that 5 sec - crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed - HTTP module no longer has time to wait for the requests to complete. Change 3905506 by Michael.Dupuis Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0 #jira 0 Change 3905498 by Lina.Halper Fix multiple pose asset issue - fallout from CL 3903509 - as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine - as for additive, change to use blend from identity. #jira: UE-55439, UE-55448, UE-55250 Change 3905325 by Sorin.Gradinaru UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat" #jira UE-54764 #4.19 Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720). Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers) Change 3905307 by Jack.Porter Removed iPhone5 PIE json file as it's not a supported device #jira UE-53184 Change 3905132 by Shane.Caudle #JIRA Pushed it a little more out of the yellow. Change 3905117 by Shane.Caudle #JIRA Got SSS working and made some tweaks. Change 3904936 by Max.Chen Fix editor only #jira UE-55459 Change 3904269 by Chris.Babcock Disable manual vertex fetch on mobile #jira UE-55389 #ue4 #android #ios Change 3904186 by Lina.Halper Pose asset crash when skeleton not existing during serialization #jira: UE-55422 Change 3904063 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. Copy from Dev-Sequencer #jira UE-55314 Change 3904060 by Lauren.Ridge Fix for saving a child out of a layer stack capturing the wrong parameters #jira UETOOL-1280 Change 3904050 by Luke.Thatcher [CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19) - Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes. - The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread. - This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread. - The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc. #jira UE-55437 Change 3904004 by Lauren.Ridge Fix for material layer output nodes being able to be placed in other graphs #jira UE-54867 Change 3903931 by Aaron.McLeran #jira UE-55435 Crash in google resonance when toggling visualization fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1 Change 3903722 by David.Hill The ProxyLOD plugin is experimental: don't load it by default. #jira: ue-55402 Change 3903583 by Ben.Marsh Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries. #jira Change 3903529 by Richard.Hinckley #jira UEDOC-7180 4.19 API Documentation manual update. Change 3903509 by Lina.Halper Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/ #DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction. #jira: UE-55250 Change 3903501 by Michael.Dupuis #jira UE-55122: Fixed bad neighbors updating for mobile Change 3903387 by Will.Fissler ; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation. ;r.XGEShaderCompile = 0 #jira UE-55286 Change 3903251 by Sungjin.Hong #JIRA UE-55349 #loc added KO locallization for VR, Handheld AR templates Change 3903219 by Adrian.Siminciuc https://jira.it.epicgames.net/browse/UE-54738 removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI #jira UE-54738 #iOS Change 3903130 by Cody.Albert Updated build configuration to resolve iOS build error on UnrealMatch3 #jira UE-53742 Change 3903056 by Shane.Caudle #JIRA Latest tweaks to lighitng and rendering for boy. Change 3903032 by Cody.Albert Added missing include that was preventing iOS builds from succeeding on TopDown template #jira UE-54341 Change 3902669 by Lauren.Ridge Fix for thumbnail crash after saving material instances that contain layers #jira crash Change 3902581 by Mitchell.Wilson Updating Samples and Template Min iOS Version to iOS 9. #jira UE-55148 Change 3902448 by Lauren.Ridge Fix for crash due to unparented material instance #jira crash Change 3902206 by Chris.Phillips UE-52612 External textures only work in pixel shaders. Sampling external textures are now only limited to pixel shaders when the shader model is < SM4. #jira UE-52612 Change 3902120 by Peter.Sauerbrei bvringing over the fix for backgrounding crash on iPhone X from Fortnite #jira UE-54883 Change 3902097 by Lina.Halper Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/ #DUPE MERGE: CL 3901939 #jira: UE-55401 Change 3902082 by Mike.Beach Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3901963 by Peter.Sauerbrei bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader #jira UE-52797 Change 3901959 by Ethan.Geller [Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren Change 3901482 by Lauren.Ridge Fix for crash on opening materials due to array out of bounds #jira crash Change 3901181 by Michael.Dupuis #jira UE-55313: To enable tessellation we MUST have 2 materials in the list Change 3900935 by Nick.Bullard Updating Default_Startup.mp4 with more recent UE branding. This still requires another update for final version with audio #jira UE-55382 Change 3900660 by Aaron.McLeran #jira UE-55381 crash in sound submix Bringing fix from FN to 4.19 (CL 3890630) Change 3900643 by Aaron.McLeran #jira UE-55380 fixing synth envelopes Change 3900617 by Aaron.McLeran #jira UE-55151 Fixing crash w/ mic component Change 3900544 by tim.gautier QAGame: Submitting asset for AsNumber fix submitted with UE-10310 #jira UE-29618 Change 3900430 by Ryan.Brucks KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone. #JIRA none Change 3900399 by Lauren.Ridge Fixing global parameters not working #jira UE-55242 Change 3900297 by Ben.Marsh Speculative fix for hot reload causing version files to be updated with a locally made installed build. #jira UE-55072 Change 3900116 by Chris.Bunner Removing outdated tests and test assets. #jira UETOOL-1298 Change 3900042 by Chris.Bunner Deleted SharedInputCollection and associated material graph nodes. #jira UETOOL-1298 Change 3899887 by Lauren.Ridge Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work. #jira UE-55267 Change 3899824 by Chris.Phillips UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data. Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels. #jira UE-52813 Change 3899775 by Lauren.Ridge Fix for crash on opening material layer material #jira crash Change 3899673 by Jamie.Dale Fixed Functions sometimes being exposed to Python as if they were Structs #jira none Change 3899487 by Chris.Bunner Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag. #jira UETOOL-1298 Change 3899156 by Phillip.Kavan Include address of object reference in persistent frame debug info. #jira UE-51952 Change 3899146 by Rolando.Caloca UE4.19 - hlslcc - Workaround for intrinsics with two output arguments #jira UE-52477 Change 3899060 by Bart.Hawthorne Add a null check for the game mode pointer in UWorld::SpawnPlayActor #jira UE-54461 Change 3899015 by Krzysztof.Narkowicz Fixed initialization of instancing random vertex stream. #jira UE-53605 Change 3899008 by Michael.Dupuis Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1 #jira 0 Change 3898994 by Phillip.Kavan More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection. #jira UE-51952 Change 3898962 by Guillaume.Abadie Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic. #jira UE-55352 Change 3898826 by Sorin.Gradinaru UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin #4.19 #Android #jira UE-54784 Wrong code to make an integer even + operator precedence Change 3898822 by Sorin.Gradinaru UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests #jira UE-52328 #jira FORT-70783 #iOS #PC #4.19 UE-52328 reopened because of FORT-70783 iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server. Change 3898705 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3898108 by Michael.Dupuis #jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening Change 3898076 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3897897 by Matt.Kuhlenschmidt Disable substance buttons for now #jira UE-55081 Change 3897742 by Aaron.McLeran Merging fix for UE-55223 to 4.19 #jira UE-55223 Change 3897538 by Michael.Dupuis #jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material Change 3897406 by Phillip.Kavan Back out local debug logs. #jira UE-51952 Change 3897400 by Phillip.Kavan Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage. - Mirrored from //UE4/Dev-Core (3871863). #jira UE-51952 Change 3897391 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897274 by Krzysztof.Narkowicz Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future. #jira UE-54683 Change 3897148 by Adrian.Siminciuc https://jira.it.epicgames.net/browse/UE-55147 #4.19 #iOS #jira UE-55147 Change 3897138 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Copy from Dev-Sequencer #jira UE-55309 Change 3897045 by Jack.Porter Fix for crash in ALandscapeProxy::UpdateGrass #jira UE-54362 Change 3897036 by Jack.Porter Fix InstancedStaticMesh crash with invalid lightmap coordinates #jira UE-54423 Change 3896801 by Dmitriy.Dyomin Fixed: Planar reflections does not handle origin rebasing #jira UE-52351 Change 3896743 by Dmitriy.Dyomin Discard CPU copy of vertex/index buffers in OpenGL RHI #jira UE-52133 Change 3896619 by Guillaume.Abadie Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV. #jira UE-55317 Change 3895718 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3895426 by Rolando.Caloca UE4.19 - Add an increased timeout for SCW to avoid OOM situations #jira UE-55306 Change 3895245 by tim.gautier QAGame: Submitting updated test assets. Broke ML_Base out into individual components #jira UE-29618 Change 3895194 by Marc.Audy Prevent crash due to a null entry in the linked to graph of the destination pin #jira UE-54606 Change 3894913 by Arne.Schober REL - Fix crash in Speedtree wind where Renderdata is unavailable #jira UE-54544 Change 3894625 by Arne.Schober REL - Fix assert not in RenderingThread from Triangle Renderer. #jira UE-55247 Change 3894464 by Martin.Wilson Extra debugging info for UE-54705 plus remove check so it is no longer fatal #jira UE-54705 Change 3894450 by Martin.Wilson Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node #jira none Change 3893948 by Jostin.Bilyeu Adding default player start location to help with launch on testing within level TM-Materials_POM #jira UE-55063 Change 3893495 by Robert.Manuszewski Fixing a crash when running DDC commandlet #jira UE-54646 Change 3893451 by Jurre.deBaare Altered fix for actor merging with negative scaling to get correct normals #jira UE-54996 #misc updated automated test to include this test-case Change 3892913 by Ethan.Geller [Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran Change 3892871 by Ryan.Vance Multi-view requires the day dream compositor. #jira UE-55253 Change 3892785 by Arciel.Rekman Linux: fix inability to create a C++ project (UE-55222). - NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds. - Installed build will check for more compilers in commonly found locations. #jira UE-55222 Change 3892687 by Jostin.Bilyeu Checking in replacement Built Data for map TM-Materials_POM #jira UE-55063 Change 3892674 by Jostin.Bilyeu Adding an invisible plane to TM-Materials_POM to help testing on mobile devices #jira UE-55063 Change 3892622 by Aaron.McLeran #jira none Fixing scope lock in phonon probe volume Change 3892511 by Matt.Kuhlenschmidt Fix zero engine version warning #jira UE-55081 Change 3892211 by Yuriy.ODonnell Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64. NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime. The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules. The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput. Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668). #jira UE-53065 Change 3891732 by Brian.Zaugg Re-adding iPhoneX launch images with correct case. #JIRA UE-53541 Change 3891727 by Arne.Schober REL - Do not recreate one Frame Resource for dynamic draws #jira UE-55063 Change 3891716 by Ben.Marsh Fix buffer overrun when generating callstack. #jira Change 3891697 by Brian.Zaugg Deleting iPhoneX launch images that have incorrect case. #jira UE-53541 Change 3891678 by Brian.Zaugg IPP binaries for iPhoneX support. #jira UE-53541 Change 3891525 by Lauren.Ridge Thumbnails now update correctly w/parameters #jira UETOOL-1333 Change 3891520 by Lauren.Ridge Fixing SA error in material editor #jira UE-55206 Change 3891495 by Jurre.deBaare Normal are different after Merge Actor on scaled objects #fix Make sure we do not apply scale when transform Normals/Tangents #jira UE-54996 Change 3891352 by Guillaume.Abadie Fixes ensure when visualizing HDR with TAAU. #jira UE-55019 Change 3891323 by Matt.Kuhlenschmidt Added substance buttons to content browser and material editor #jira UE-55081 Change 3891033 by David.Hibbitts #JIRA UE-55135 Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations. Change 3890642 by Arne.Schober REL - Better fix for Paper2d which honors batching #jira UE-55063 Change 3890593 by Arne.Schober REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead. #jira UE-55063 Change 3890502 by Mike.Erwin Fix reported VRAM size on Metal We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes. This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0. Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that. Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB. #jira none Change 3890404 by Jostin.Bilyeu Updating Demo Display names to remove redundant spaces #jira UE-29618 Change 3890401 by Dan.Oconnor Fix for property table performance regression #jira UE-54984 Change 3890194 by Dan.Oconnor Make sure a CDO's subobjects are preloaded when running in -game #jira UE-54242 Change 3890182 by Krzysztof.Narkowicz Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path. #jira UE-54683 Change 3890140 by Rob.Cannaday Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19 Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018 #jira none Change 3889850 by Shaun.Kime Now initializing Niagara scripts and emitters even if the config file isn't ready yet. #jira UE-54168 #jira UE-54169 #tests can create a blank emitter and all script sub-types Change 3889833 by Michael.Trepka Disabled Clang's unused-lambda-capture warning added in Xcode 9.3 #jira none Change 3889696 by Patrick.Boutot Allow rename from AssetTool when there is no source control enabled. Fix crash when you rename an asset without an enabled source control. #jira UEENT-803 Change 3889470 by Mike.Beach Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query). #jira UE-55153 Change 3889319 by Matt.Kuhlenschmidt Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly #jira UE-55166 Change 3889087 by Jostin.Bilyeu Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up #jira UE-29618 Change 3889073 by Sorin.Gradinaru UE-55117 Android virtual keyboard can have text input hidden by software buttons #jira UE-55117 #Android #4.19 Adjusted x-coord and width for the native EditText Change 3888841 by Jurre.deBaare Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function #jira none Change 3888837 by Guillaume.Abadie Fixes a crash in dynamic resolution when doing UE4Editor -server #jira UE-55158 Change 3888831 by Dragan.Jerosimovic added fbx files #jira none Change 3888340 by Ethan.Geller [Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron Change 3888133 by Michael.Karambelas QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471. #jira UE-29618 Change 3887957 by Krzysztof.Narkowicz "Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack #jira UE-54367 Change 3887912 by Jostin.Bilyeu Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels #jira UE-29618 Change 3887571 by Zak.Parrish Adding FaceAR content and cleanup #jira none Change 3887458 by Dan.Oconnor Fix 'Step Out' functionality for macro and collapsed graphs #jira UE-55000, UE-55002, UE-55022 Change 3886883 by zachary.wilson Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling. #jira UE-29618 Change 3886848 by Max.Preussner Engine: Workaround for uninitialized external textures causing white flashes in media playback Copied from Fortnite-Main and Dev-Sequencer #jira UE-53357 Change 3886720 by Matt.Kuhlenschmidt Guard against mac menus updating during slow tasks. #jira UE-55068 Change 3886657 by Guillaume.Abadie Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation. This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation. #jira FORT-69961 Change 3886653 by Matt.Kuhlenschmidt Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored #jira UE-55111 Change 3886621 by Benn.Gallagher Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus. #JIRA UE-55067 Change 3886552 by Thomas.Sarkanen Fixed crash loading an anim instance with a re-instanced class Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us. #jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521] Change 3886442 by Cosmin.Sulea UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling #jira UE-53033 Change 3886441 by Cosmin.Sulea UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager #jira UE-54598 Change 3886427 by Sorin.Gradinaru UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552 #4.19 #Android #jira UE-54139 S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash. Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags) Change 3886210 by Ethan.Geller [Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM. Change 3886005 by Zak.Parrish Checking in faceAR work on behalf of 3Lateral #jira none Change 3885925 by Mike.Erwin Material preview label off-center on HiDPI screen #jira UE-52533 Change 3885778 by Dan.Oconnor Fix stepping over collapsed graph and macro nodes #jira UE-54950, UE-54955 Change 3885713 by Mike.Erwin glTF: fix material using wrong textures Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures. Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model. #jira none Change 3885603 by Ben.Marsh Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode. #jira Change 3885566 by Phillip.Kavan Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code. Change summary: - Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization. #jira UE-55061 Change 3885481 by Mark.Satterthwaite Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier). #jira UE-54333 Change 3885461 by Lauren.Ridge Fix for slot not being initialized to null #jira UE-55069 Change 3885455 by zak.parrish Adding initial files for FaceAR scene lookdev #jira none Change 3885446 by Zak.Parrish Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none Change 3885424 by Krzysztof.Narkowicz Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread. #jira UE-53861 Change 3885406 by Zak.Parrish Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639 Change 3885340 by Arne.Schober REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack #jira none Change 3885143 by Marc.Audy Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19 #jira UE-54977 #jira UE-54976 #jira UE-54898 Change 3885093 by Mark.Satterthwaite Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds. #JIRA N/A Change 3884622 by Jurre.deBaare Moving over missing file from changelist for UE-54508 #jira UE-54508 Change 3883391 by Nick.Atamas Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled. Only create ARKit/ARCore tracking systems on iOS/Android. #jira UE-54622 Change 3883257 by Phillip.Kavan Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types. #jira UE-55026 Change 3883024 by Lauren.Ridge Fixing static analysis warning #jira SA Change 3882510 by Michael.Dupuis #jira none : Fixed screen size calculation to take aspect ratio into account correctly Change 3882502 by Lauren.Ridge Fix for material layer parameters not rebuilding and adding save child button #jira UETOOL-1275 Change 3882458 by Krzysztof.Narkowicz Copying cached shadow map assert fix from Fortnite-Main (CL3802813) #jira UE-54747 Change 3882366 by Michael.Karambelas QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests. #jira UE-29618 Change 3881971 by andrew.porter QAGame: Removing actor from Shot_003 #jira UE-29618 Change 3881795 by Krzysztof.Narkowicz Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows #jira UE-53875 Change 3881550 by David.Hibbitts #JIRA UEENT-879 Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed. THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile. Change 3881339 by Jurre.deBaare Moving over: "Editor crashed when attempting to bake out all the material channels #jira UE-54508 #misc small UDN Merge actor / bake material fixes Change 3879557 by Dan.Oconnor Fix stepover behavior when no debug target is selected #jira UE-54978 Change 3879485 by Mike.Beach Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes). #jira UE-54999 Change 3879438 by David.Hibbitts #JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau Change 3879343 by Lina.Halper Last min change that skiped compiling #jira: none Change 3879337 by Lina.Halper Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. #jira: UE-54806 Change 3878968 by Phillip.Kavan Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization. Change summary: - Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties. #jira UE-54981 Change 3878962 by Adrian.Siminciuc https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license) #4.19 #jira UE-54831 #android - shows an error message box informing that the license file could not be written. Change 3878821 by Andrew.Rodham Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3878171 by Chris.Phillips Android: Fixed crash after splash screen when using Vulkan. #jira UE-54299 Change 3877950 by Ethan.Geller Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron Change 3877859 by Nick.Shin rebuilt lighting for TM-ShaderModels and resaved the level #jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5 Change 3877854 by tim.gautier Adding additional (temp) ML Test asset #jira UE-29318 Change 3877609 by Ethan.Geller [4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron Change 3877474 by Lauren.Ridge Adding WITH_EDITOR wrappers to editor-only section of code #jira fixingcompiles Change 3877271 by Arne.Schober REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary #jira none Change 3877260 by Lina.Halper If revision is too far away, ignore the request and send current buffer - this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens #jira: UE-54398 Change 3876950 by Lauren.Ridge Renaming layers in a material instance - from 4.19 preview feedback #jira UETOOL-1296 Change 3876932 by Arciel.Rekman Linux: updated the link to the cross-toolchain (UE-54597). #jira UE-54597 Change 3876918 by Phillip.Kavan Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled. Change summary: - Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class. - Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL. #jira UE-54870 Change 3876759 by tim.gautier Updated Material Layer test assets to include Opacity and Emissive. #jira UE-29318 Change 3876575 by Michael.Karambelas Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes. #jira UE-29618 Change 3876406 by Robert.Manuszewski Fixed a crash when reporting linker errors #jira UE-51037 Change 3875891 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. #jira UE-54914 Change 3875880 by Aaron.McLeran #jira UE-54916 Fixing up submix effect templates Change 3875673 by Brandon.Schaefer Fix Apex dependencies Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs #jira UE-54861 Change 3875498 by Lauren.Ridge PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux) #jira UE-54862 Change 3875322 by tim.gautier Recreating Material Layer test assets (asset version has changed) #jira UE-29318 Change 3875157 by Aaron.McLeran #jira UE-54901 Synth components do not allow sends to buses Change 3875103 by Brandon.Schaefer Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries #jira UE-54815 Change 3875037 by Aaron.McLeran #jira UE-54896 Fixing up audio capture component to parameterize the delay Parameterize the jitter latency delay. Change 3875026 by Aaron.McLeran #jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops Change 3874927 by Ryan.Vance #jira UE-54894 Ensure we don't delete aliased texture resources, they are managed externally. Change 3874925 by Martin.Wilson Remove XR post fix from live link code written during motion controller integration #jira none Change 3874354 by Ben.Marsh Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings. #jira UE-54272 Change 3877545 by Ben.Marsh Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying. Use similar logic for expanding ensure() macros in place. #jira UE-54961 [CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
#include "ContentBrowserDelegates.h"
#include "Interfaces/IPluginManager.h"
#include "Widgets/Docking/SDockTab.h"
#include "Framework/Application/SlateApplication.h"
#include "Widgets/Images/SImage.h"
#include "Misc/EngineBuildSettings.h"
#include "MaterialEditorSettings.h"
#include "EdGraphUtilities.h"
#include "ISettingsModule.h"
#include "Interfaces/IMainFrameModule.h"
#include "MaterialEditorGraphPanelPinFactory.h"
const FName MaterialEditorAppIdentifier = FName(TEXT("MaterialEditorApp"));
const FName MaterialInstanceEditorAppIdentifier = FName(TEXT("MaterialInstanceEditorApp"));
namespace MaterialEditorModuleConstants
{
const static FName SettingsContainerName("Editor");
const static FName SettingsCategoryName("ContentEditors");
const static FName SettingsSectionName("Material Editor");
}
/**
* Material editor module
*/
class FMaterialEditorModule : public IMaterialEditorModule
{
public:
/** Constructor, set up console commands and variables **/
FMaterialEditorModule()
{
}
/**
* Called right after the module DLL has been loaded and the module object has been created
*/
virtual void StartupModule() override
{
MenuExtensibilityManager = MakeShareable(new FExtensibilityManager);
ToolBarExtensibilityManager = MakeShareable(new FExtensibilityManager);
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3944462 by Jack.Porter Prevent TVOS packaging from PC from attempting to build an asset catalog #jira UE-56114 Change 3943602 by Leslie.Nivison Adding licenses for additional TPS #jira none Change 3943597 by Leslie.Nivison Adding Enterprise licenses; licenses for additional TPS. #jira none Change 3941962 by Leslie.Nivison Updating 4.19 credit list #jira none Change 3941865 by Mark.Satterthwaite Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI. - Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs. - Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer. #jira UE-56021 Change 3940993 by Marc.Audy Do not return the last column if the specified column does not exist. Allow display names to be used when looking for a property if the table is backed by a user defined struct. Do not crash if a property with the given name is not found. #jira UE-56017 Change 3939179 by Ben.Marsh Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance. #jira Change 3938566 by Aaron.McLeran #jira UE-55940 Fix for wavetable synth Missed a case. Change 3938533 by Dan.Oconnor Fix uninitialized variable exposed by recent MallocTBB change #jira UE-56013 Change 3938508 by Aaron.McLeran Fixing CIS error, init order issues. #jira UE-55940 Change 3938490 by Aaron.McLeran #jira UE-55940 Fix for wavetable synth Change 3938352 by josh.jensen Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified #jira UE-55987 Change 3938345 by Peter.Sauerbrei fix to Icons not being built on Mac #jira UE-53492 Change 3938305 by Mark.Satterthwaite For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied. #jira UE-56005 Change 3937968 by Ben.Marsh Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file. #jira UE-56003 Change 3937573 by Mitchell.Wilson Saving asset to resolve empty asset warning. #jira UE-56004 Change 3937561 by Max.Preussner ImgMedia: Added support for single-threaded platforms Copied from Dev-Sequencer CL# 3937516 #jira UE-55986 Change 3937305 by Mike.Beach Resaving google VR model content with UGS build to fix the empty file version error. #jira UE-55984 Change 3935595 by Arne.Schober Fix missing UV precission on BSP surfaces #jira UE-54014 Change 3935411 by josh.jensen Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory #jira UE-55899 Change 3934982 by Marc.Audy Fix shadow variable issue #jira UE-55957 Change 3934892 by Mark.Satterthwaite In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands. #jira UE-55956 Change 3934421 by Arciel.Rekman Fix lockup/OOM when setting audio sources to 2 (UE-53968). #jira UE-53968 Change 3934156 by Peter.Sauerbrei fix for backgrounding problems on iOS and tvOS this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup #jira UE4-55609 Change 3933547 by Aaron.McLeran #jira UE-55940 Fix for wavetable sample duration and seek Change 3933544 by Aaron.McLeran #jira UE-55939 Hiding channel format Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19. Change 3933540 by Aaron.McLeran #jira UE-55718 Fix for playback progress. Change 3933280 by Ethan.Geller [Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran Change 3933079 by Ryan.Vance #jira UE-55936 Fixed missing referenced uniform bindings on AR pass-through camera shaders. Change 3932319 by Ben.Zeigler #jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package It now keeps track of which packages were created by the async load system and will only throw those away on cancel Copy of CL #3932312 Change 3932287 by Matt.Kuhlenschmidt Updated substance texture #jira UE-55081 Change 3931729 by josh.jensen Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build #jira UE-55899 Change 3929723 by josh.jensen Removed packaging requirement on Windows of a remote Mac after setting an app icon to default #jira UE-53495 Change 3929722 by josh.jensen Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects #jira UE-53492, UE-51879 #robomerge Change 3929350 by Mike.Erwin "Save As" support for #jira UE-55732 Change 3927829 by Steve.Robb Out-of-memory handler for MallocStomp. #jira UE-55550 Change 3926404 by Mike.Erwin #jira UE-55732 Change 3926394 by Dan.Oconnor Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode #jira UE-55813 Change 3926098 by Guillaume.Abadie Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security. #jira UE-55697 Change 3925927 by Guillaume.Abadie Enables TAA's AA_BORDER on all permutation for dynamic resolution. #jira UE-55353 Change 3925882 by Matt.Kuhlenschmidt Fix substance uri having one extra / Fix substance menu option showing up for github (incompatible with plugin) #jira UE-55766 Change 3925873 by Ben.Zeigler #jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly Copy of CL #3925871 Change 3925163 by Guillaume.Abadie Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly. #jira UE-55788 Change 3924839 by Guillaume.Abadie Fixes a crash of LDR android preview with OS DPI scale != 0. #jira UE-43622 Change 3924542 by Cosmin.Sulea Merged fixes: UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7 UE-51086 - No clear editor activity during remote shader compiling #jira UE-55299 Change 3922398 by Mark.Satterthwaite Compile fix for 3922273. #jira UE-53993 Change 3922273 by Mark.Satterthwaite Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size. #jira UE-53993 Change 3921127 by Ethan.Geller [Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran Change 3920632 by Lina.Halper Fix render thread crash when morphtarget is deleted or added #jira: UE-55521 Change 3920557 by Lauren.Ridge Fixing material editor resetting background to off #jira UE-55267 Change 3920519 by Phillip.Kavan Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code. Change summary: - Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value. #jira UE-55628 Change 3920476 by Michael.Trepka Clean up Mac menu item cache at exit before SlateApplication is fully destroyed. #jira UE-55599 Change 3920336 by Ben.Marsh Ignore license warnings from PVS-Studio. #jira UE-55729 Change 3920134 by Jurre.deBaare Moving over: "HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not #fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings" #jira UE-55619 Change 3920126 by Max.Preussner MediaCompositing: Implemented media track for Sequencer Copied from Dev-Sequencer #jira UE-53974 Change 3920004 by Jack.Porter Disable Manual Vertex Fetch SRV creation when MVF is disabled. Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it. Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed. #jira UE-54764 #jira UE-55622 Change 3919069 by Aaron.McLeran #jira UE-55718 Fix for playback progress. Change 3918942 by Graeme.Thornton Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled. #jira UE-55686 Change 3918721 by Zak.Parrish Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none Change 3918236 by Joe.Graf Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face #jira: UE-55531 Change 3917970 by Martin.Wilson Expose curve data in remap assets to blueprints #jira UE-55585 Change 3917740 by Olaf.Piesche Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances); #jira UE-55591 Change 3917713 by Cody.Albert Build fixes for Match3 on iOS #jira UE-53742 Change 3917472 by zak.parrish added mouthPressLeft and MouthPressRight back into debug screen #jira none Change 3917244 by Michael.Dupuis #jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node Change 3916775 by Ben.Marsh Add missing files for packaging IOS on Windows. #jira UE-53873 Change 3916293 by Joe.Graf Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class #jira: UE-55531 Change 3916011 by Joe.Graf Added an accessor to get the transform of the face mesh or a face mesh component #jira: UE-55531 Change 3915967 by Mark.Satterthwaite Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world. #jira UE-54858 Change 3915751 by Nick.Atamas Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/... #jira UE-55639 Change 3915421 by Martin.Wilson Fix crash from live link message bus heartbeat manager #jira UE-55644 Change 3915326 by Dan.Oconnor Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions #jira UE-55592 Change 3915250 by JeanLuc.Corenthin Can't add C++ code to Enterprise projects (when enterprise is installed) Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path) Fix: - Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against - Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories. - Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise. #jira UEENT-1032 Change 3915240 by Ben.Marsh Reduce editor startup times by ~15s on Windows. Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array. Now spends <0.1s total in this function on editor startup. (Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header). #jira UE-55642 Change 3914803 by Gil.Gribb UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug. #jira UE-49600 Change 3914616 by zak.parrish Adding Calibrate button #jira none Change 3914599 by Andrew.Rodham Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 Change 3914479 by Krzysztof.Narkowicz Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows #jira UE-53875 Change 3914347 by Martin.Wilson Stop anim preview instance from ever running in parallel #Jira UE-55577 Change 3914179 by Benn.Gallagher Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data. #jira UE-55528 Change 3914122 by Steven.Barnett Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message. #jira UE-54081 Change 3913950 by zak.parrish Clamping my normalization math #jira none Change 3913926 by Zak.Parrish First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none Change 3913668 by Matt.Kuhlenschmidt Adding missing substance styling info #jira UE-55081 Change 3913667 by Nick.Atamas Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/... Upgrading to support ARCore 1.0 runtime. #jira UE-55602 Change 3913645 by Aaron.McLeran #jira UE-55618 fix for mono audio devices Change 3913509 by Cody.Albert Removing PhsX build exclusion from Match3 #jira UE-53742 Change 3913380 by Dan.Oconnor Preload Sequence Bindings node at proper time #jira UE-55412 Change 3913300 by Mitchell.Wilson Updating iOS default startup movie to H.264, 1280x720, 30 fps. #jira UE-55382 Change 3913291 by Cody.Albert More iOS build fixes for Match3 #jira UE-53742 Change 3913169 by Cody.Albert Fixed iOS build issues for UnrealMatch3 #jira UE-53742 Change 3913131 by Krzysztof.Narkowicz Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity) #jira UE-54580 Change 3912851 by Lina.Halper Fixed issue with pose asset blending additively multiple poses suming up to 1 weight. #jira: UE-55603 Change 3912629 by Guillaume.Abadie Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera. #jira UE-55353 Change 3912170 by Martin.Wilson Add logging for UE-55511 (NaN crash) #jira UE-55511 Change 3912161 by Phillip.Kavan Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation. Change summary: - Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class. - Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it. #jira UE-55474 Change 3912100 by Luke.Thatcher [RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19 #jira UE-55340 Change 3912072 by Mike.Beach Art cleanup pass on AR template icon. #jira UE-55587 Change 3912057 by Michael.Trepka Additional widget path validity check in FSlateUser::NotifyWindowDestroyed() #jira UE-55580 Change 3911592 by Jurre.deBaare Crash on merge actor when Use specific LOD Level #fix make sure we use the correct array to determine the number of components being merged #jira UE-55508 Change 3911466 by Cosmin.Sulea Mega change list for the following related issues: UEMOB-417 - Support Xcode automagical code signing UE-49829 - Remote build fails to use / sign distribution provisions coming from PC UE-39501 - Packaging for tvOS in Distribution fails to find valid provision UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions UE-55330 - Automatic signing doesn't work with tvOS UE-10969 - Remote build fails if there is no development provision provided #jira UEMOB-417 Change 3911454 by Luke.Thatcher [RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData - FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible. - The SubSections array is leaked when the memstack is popped. - Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4). (Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...) #jira UE-54835 Change 3911370 by Dragan.Jerosimovic changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight updated KiteBoyHead_JointsAndBlends.fbx #jira none Change 3910545 by Dan.Oconnor PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb) #jira UE-55513 Change 3910449 by Michael.Trepka Fix for crash on exit on Mac when closing the root editor window with Cmd+W #jira UE-54973 Change 3909601 by Patrick.Boutot Expose to Blueprint GetProjectDirectory functions. #jira UE-55548, UEENT-999 Change 3909543 by Patrick.Boutot Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse. Python's help function now output the Python type instead of the cpp type. Do not export hidden enum entry from Python. #jira UE-55545, UEENT-961 Change 3909289 by Zak.Parrish Adding shirt/chest to faceAR sample #jira none Change 3908808 by Dragan.Jerosimovic added combination shapes network #jira none Change 3908788 by Mitchell.Wilson Updaing Match3Camera to resolve clipping issue on iPhone X #jira UE-54723 Change 3908374 by Jack.Porter Fix viewport offset problem for preview PIE window #jira UE-52583 Change 3907108 by Shane.Caudle #JIRA Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile] +CVars=r.ShadowQuality=4 Change 3907105 by Lauren.Ridge Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null #jira UETOOL-1303 Change 3907011 by Chris.Phillips UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher. #jira UE-52667 Change 3906792 by Lauren.Ridge When constructing the material editor viewport, use the direct method to set the environment visibility. #jira UE-55267 Change 3906734 by Chris.Babcock Fix issue with vertex fetch disable #jira UE-55475 Change 3906721 by Rolando.Caloca UE4.19 - Check if the results file from SCW is corrupt #jira UE-53124 Change 3906648 by Chris.Phillips UE-53184 Assertion when running mobile PIE in iPhone 5S mode. Updated the iPhone5s.json Metal settings. #jira UE-53184 Change 3906474 by David.Hibbitts Added default constructor for FLiveLinkWorldTime. #jira UEENT-879 #rb none Change 3906467 by Lauren.Ridge Swapping sibling materials now correctly swaps the overridden parameters out #jira nojira demobug Change 3906156 by Michael.Trepka Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed. #jira UE-52492 Change 3906144 by Michael.Dupuis #jira UE-54547: Added guard to be sure that material is valid Change 3905882 by Matt.Kuhlenschmidt Enable substance buttons again #jira UE-55081 Change 3905513 by Sorin.Gradinaru UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression #jira UE-55394 #jira UE-52328 #iOS #4.19 This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings - the game thread is waiting for the movie to complete on game shutdown - more that 5 sec - crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed - HTTP module no longer has time to wait for the requests to complete. Change 3905506 by Michael.Dupuis Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0 #jira 0 Change 3905498 by Lina.Halper Fix multiple pose asset issue - fallout from CL 3903509 - as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine - as for additive, change to use blend from identity. #jira: UE-55439, UE-55448, UE-55250 Change 3905325 by Sorin.Gradinaru UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat" #jira UE-54764 #4.19 Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720). Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers) Change 3905307 by Jack.Porter Removed iPhone5 PIE json file as it's not a supported device #jira UE-53184 Change 3905132 by Shane.Caudle #JIRA Pushed it a little more out of the yellow. Change 3905117 by Shane.Caudle #JIRA Got SSS working and made some tweaks. Change 3904936 by Max.Chen Fix editor only #jira UE-55459 Change 3904269 by Chris.Babcock Disable manual vertex fetch on mobile #jira UE-55389 #ue4 #android #ios Change 3904186 by Lina.Halper Pose asset crash when skeleton not existing during serialization #jira: UE-55422 Change 3904063 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. Copy from Dev-Sequencer #jira UE-55314 Change 3904060 by Lauren.Ridge Fix for saving a child out of a layer stack capturing the wrong parameters #jira UETOOL-1280 Change 3904050 by Luke.Thatcher [CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19) - Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes. - The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread. - This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread. - The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc. #jira UE-55437 Change 3904004 by Lauren.Ridge Fix for material layer output nodes being able to be placed in other graphs #jira UE-54867 Change 3903931 by Aaron.McLeran #jira UE-55435 Crash in google resonance when toggling visualization fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1 Change 3903722 by David.Hill The ProxyLOD plugin is experimental: don't load it by default. #jira: ue-55402 Change 3903583 by Ben.Marsh Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries. #jira Change 3903529 by Richard.Hinckley #jira UEDOC-7180 4.19 API Documentation manual update. Change 3903509 by Lina.Halper Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/ #DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction. #jira: UE-55250 Change 3903501 by Michael.Dupuis #jira UE-55122: Fixed bad neighbors updating for mobile Change 3903387 by Will.Fissler ; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation. ;r.XGEShaderCompile = 0 #jira UE-55286 Change 3903251 by Sungjin.Hong #JIRA UE-55349 #loc added KO locallization for VR, Handheld AR templates Change 3903219 by Adrian.Siminciuc https://jira.it.epicgames.net/browse/UE-54738 removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI #jira UE-54738 #iOS Change 3903130 by Cody.Albert Updated build configuration to resolve iOS build error on UnrealMatch3 #jira UE-53742 Change 3903056 by Shane.Caudle #JIRA Latest tweaks to lighitng and rendering for boy. Change 3903032 by Cody.Albert Added missing include that was preventing iOS builds from succeeding on TopDown template #jira UE-54341 Change 3902669 by Lauren.Ridge Fix for thumbnail crash after saving material instances that contain layers #jira crash Change 3902581 by Mitchell.Wilson Updating Samples and Template Min iOS Version to iOS 9. #jira UE-55148 Change 3902448 by Lauren.Ridge Fix for crash due to unparented material instance #jira crash Change 3902206 by Chris.Phillips UE-52612 External textures only work in pixel shaders. Sampling external textures are now only limited to pixel shaders when the shader model is < SM4. #jira UE-52612 Change 3902120 by Peter.Sauerbrei bvringing over the fix for backgrounding crash on iPhone X from Fortnite #jira UE-54883 Change 3902097 by Lina.Halper Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/ #DUPE MERGE: CL 3901939 #jira: UE-55401 Change 3902082 by Mike.Beach Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3901963 by Peter.Sauerbrei bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader #jira UE-52797 Change 3901959 by Ethan.Geller [Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren Change 3901482 by Lauren.Ridge Fix for crash on opening materials due to array out of bounds #jira crash Change 3901181 by Michael.Dupuis #jira UE-55313: To enable tessellation we MUST have 2 materials in the list Change 3900935 by Nick.Bullard Updating Default_Startup.mp4 with more recent UE branding. This still requires another update for final version with audio #jira UE-55382 Change 3900660 by Aaron.McLeran #jira UE-55381 crash in sound submix Bringing fix from FN to 4.19 (CL 3890630) Change 3900643 by Aaron.McLeran #jira UE-55380 fixing synth envelopes Change 3900617 by Aaron.McLeran #jira UE-55151 Fixing crash w/ mic component Change 3900544 by tim.gautier QAGame: Submitting asset for AsNumber fix submitted with UE-10310 #jira UE-29618 Change 3900430 by Ryan.Brucks KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone. #JIRA none Change 3900399 by Lauren.Ridge Fixing global parameters not working #jira UE-55242 Change 3900297 by Ben.Marsh Speculative fix for hot reload causing version files to be updated with a locally made installed build. #jira UE-55072 Change 3900116 by Chris.Bunner Removing outdated tests and test assets. #jira UETOOL-1298 Change 3900042 by Chris.Bunner Deleted SharedInputCollection and associated material graph nodes. #jira UETOOL-1298 Change 3899887 by Lauren.Ridge Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work. #jira UE-55267 Change 3899824 by Chris.Phillips UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data. Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels. #jira UE-52813 Change 3899775 by Lauren.Ridge Fix for crash on opening material layer material #jira crash Change 3899673 by Jamie.Dale Fixed Functions sometimes being exposed to Python as if they were Structs #jira none Change 3899487 by Chris.Bunner Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag. #jira UETOOL-1298 Change 3899156 by Phillip.Kavan Include address of object reference in persistent frame debug info. #jira UE-51952 Change 3899146 by Rolando.Caloca UE4.19 - hlslcc - Workaround for intrinsics with two output arguments #jira UE-52477 Change 3899060 by Bart.Hawthorne Add a null check for the game mode pointer in UWorld::SpawnPlayActor #jira UE-54461 Change 3899015 by Krzysztof.Narkowicz Fixed initialization of instancing random vertex stream. #jira UE-53605 Change 3899008 by Michael.Dupuis Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1 #jira 0 Change 3898994 by Phillip.Kavan More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection. #jira UE-51952 Change 3898962 by Guillaume.Abadie Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic. #jira UE-55352 Change 3898826 by Sorin.Gradinaru UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin #4.19 #Android #jira UE-54784 Wrong code to make an integer even + operator precedence Change 3898822 by Sorin.Gradinaru UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests #jira UE-52328 #jira FORT-70783 #iOS #PC #4.19 UE-52328 reopened because of FORT-70783 iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server. Change 3898705 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3898108 by Michael.Dupuis #jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening Change 3898076 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3897897 by Matt.Kuhlenschmidt Disable substance buttons for now #jira UE-55081 Change 3897742 by Aaron.McLeran Merging fix for UE-55223 to 4.19 #jira UE-55223 Change 3897538 by Michael.Dupuis #jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material Change 3897406 by Phillip.Kavan Back out local debug logs. #jira UE-51952 Change 3897400 by Phillip.Kavan Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage. - Mirrored from //UE4/Dev-Core (3871863). #jira UE-51952 Change 3897391 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897274 by Krzysztof.Narkowicz Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future. #jira UE-54683 Change 3897148 by Adrian.Siminciuc https://jira.it.epicgames.net/browse/UE-55147 #4.19 #iOS #jira UE-55147 Change 3897138 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Copy from Dev-Sequencer #jira UE-55309 Change 3897045 by Jack.Porter Fix for crash in ALandscapeProxy::UpdateGrass #jira UE-54362 Change 3897036 by Jack.Porter Fix InstancedStaticMesh crash with invalid lightmap coordinates #jira UE-54423 Change 3896801 by Dmitriy.Dyomin Fixed: Planar reflections does not handle origin rebasing #jira UE-52351 Change 3896743 by Dmitriy.Dyomin Discard CPU copy of vertex/index buffers in OpenGL RHI #jira UE-52133 Change 3896619 by Guillaume.Abadie Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV. #jira UE-55317 Change 3895718 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3895426 by Rolando.Caloca UE4.19 - Add an increased timeout for SCW to avoid OOM situations #jira UE-55306 Change 3895245 by tim.gautier QAGame: Submitting updated test assets. Broke ML_Base out into individual components #jira UE-29618 Change 3895194 by Marc.Audy Prevent crash due to a null entry in the linked to graph of the destination pin #jira UE-54606 Change 3894913 by Arne.Schober REL - Fix crash in Speedtree wind where Renderdata is unavailable #jira UE-54544 Change 3894625 by Arne.Schober REL - Fix assert not in RenderingThread from Triangle Renderer. #jira UE-55247 Change 3894464 by Martin.Wilson Extra debugging info for UE-54705 plus remove check so it is no longer fatal #jira UE-54705 Change 3894450 by Martin.Wilson Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node #jira none Change 3893948 by Jostin.Bilyeu Adding default player start location to help with launch on testing within level TM-Materials_POM #jira UE-55063 Change 3893495 by Robert.Manuszewski Fixing a crash when running DDC commandlet #jira UE-54646 Change 3893451 by Jurre.deBaare Altered fix for actor merging with negative scaling to get correct normals #jira UE-54996 #misc updated automated test to include this test-case Change 3892913 by Ethan.Geller [Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran Change 3892871 by Ryan.Vance Multi-view requires the day dream compositor. #jira UE-55253 Change 3892785 by Arciel.Rekman Linux: fix inability to create a C++ project (UE-55222). - NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds. - Installed build will check for more compilers in commonly found locations. #jira UE-55222 Change 3892687 by Jostin.Bilyeu Checking in replacement Built Data for map TM-Materials_POM #jira UE-55063 Change 3892674 by Jostin.Bilyeu Adding an invisible plane to TM-Materials_POM to help testing on mobile devices #jira UE-55063 Change 3892622 by Aaron.McLeran #jira none Fixing scope lock in phonon probe volume Change 3892511 by Matt.Kuhlenschmidt Fix zero engine version warning #jira UE-55081 Change 3892211 by Yuriy.ODonnell Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64. NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime. The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules. The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput. Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668). #jira UE-53065 Change 3891732 by Brian.Zaugg Re-adding iPhoneX launch images with correct case. #JIRA UE-53541 Change 3891727 by Arne.Schober REL - Do not recreate one Frame Resource for dynamic draws #jira UE-55063 Change 3891716 by Ben.Marsh Fix buffer overrun when generating callstack. #jira Change 3891697 by Brian.Zaugg Deleting iPhoneX launch images that have incorrect case. #jira UE-53541 Change 3891678 by Brian.Zaugg IPP binaries for iPhoneX support. #jira UE-53541 Change 3891525 by Lauren.Ridge Thumbnails now update correctly w/parameters #jira UETOOL-1333 Change 3891520 by Lauren.Ridge Fixing SA error in material editor #jira UE-55206 Change 3891495 by Jurre.deBaare Normal are different after Merge Actor on scaled objects #fix Make sure we do not apply scale when transform Normals/Tangents #jira UE-54996 Change 3891352 by Guillaume.Abadie Fixes ensure when visualizing HDR with TAAU. #jira UE-55019 Change 3891323 by Matt.Kuhlenschmidt Added substance buttons to content browser and material editor #jira UE-55081 Change 3891033 by David.Hibbitts #JIRA UE-55135 Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations. Change 3890642 by Arne.Schober REL - Better fix for Paper2d which honors batching #jira UE-55063 Change 3890593 by Arne.Schober REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead. #jira UE-55063 Change 3890502 by Mike.Erwin Fix reported VRAM size on Metal We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes. This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0. Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that. Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB. #jira none Change 3890404 by Jostin.Bilyeu Updating Demo Display names to remove redundant spaces #jira UE-29618 Change 3890401 by Dan.Oconnor Fix for property table performance regression #jira UE-54984 Change 3890194 by Dan.Oconnor Make sure a CDO's subobjects are preloaded when running in -game #jira UE-54242 Change 3890182 by Krzysztof.Narkowicz Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path. #jira UE-54683 Change 3890140 by Rob.Cannaday Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19 Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018 #jira none Change 3889850 by Shaun.Kime Now initializing Niagara scripts and emitters even if the config file isn't ready yet. #jira UE-54168 #jira UE-54169 #tests can create a blank emitter and all script sub-types Change 3889833 by Michael.Trepka Disabled Clang's unused-lambda-capture warning added in Xcode 9.3 #jira none Change 3889696 by Patrick.Boutot Allow rename from AssetTool when there is no source control enabled. Fix crash when you rename an asset without an enabled source control. #jira UEENT-803 Change 3889470 by Mike.Beach Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query). #jira UE-55153 Change 3889319 by Matt.Kuhlenschmidt Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly #jira UE-55166 Change 3889087 by Jostin.Bilyeu Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up #jira UE-29618 Change 3889073 by Sorin.Gradinaru UE-55117 Android virtual keyboard can have text input hidden by software buttons #jira UE-55117 #Android #4.19 Adjusted x-coord and width for the native EditText Change 3888841 by Jurre.deBaare Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function #jira none Change 3888837 by Guillaume.Abadie Fixes a crash in dynamic resolution when doing UE4Editor -server #jira UE-55158 Change 3888831 by Dragan.Jerosimovic added fbx files #jira none Change 3888340 by Ethan.Geller [Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron Change 3888133 by Michael.Karambelas QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471. #jira UE-29618 Change 3887957 by Krzysztof.Narkowicz "Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack #jira UE-54367 Change 3887912 by Jostin.Bilyeu Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels #jira UE-29618 Change 3887571 by Zak.Parrish Adding FaceAR content and cleanup #jira none Change 3887458 by Dan.Oconnor Fix 'Step Out' functionality for macro and collapsed graphs #jira UE-55000, UE-55002, UE-55022 Change 3886883 by zachary.wilson Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling. #jira UE-29618 Change 3886848 by Max.Preussner Engine: Workaround for uninitialized external textures causing white flashes in media playback Copied from Fortnite-Main and Dev-Sequencer #jira UE-53357 Change 3886720 by Matt.Kuhlenschmidt Guard against mac menus updating during slow tasks. #jira UE-55068 Change 3886657 by Guillaume.Abadie Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation. This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation. #jira FORT-69961 Change 3886653 by Matt.Kuhlenschmidt Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored #jira UE-55111 Change 3886621 by Benn.Gallagher Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus. #JIRA UE-55067 Change 3886552 by Thomas.Sarkanen Fixed crash loading an anim instance with a re-instanced class Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us. #jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521] Change 3886442 by Cosmin.Sulea UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling #jira UE-53033 Change 3886441 by Cosmin.Sulea UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager #jira UE-54598 Change 3886427 by Sorin.Gradinaru UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552 #4.19 #Android #jira UE-54139 S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash. Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags) Change 3886210 by Ethan.Geller [Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM. Change 3886005 by Zak.Parrish Checking in faceAR work on behalf of 3Lateral #jira none Change 3885925 by Mike.Erwin Material preview label off-center on HiDPI screen #jira UE-52533 Change 3885778 by Dan.Oconnor Fix stepping over collapsed graph and macro nodes #jira UE-54950, UE-54955 Change 3885713 by Mike.Erwin glTF: fix material using wrong textures Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures. Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model. #jira none Change 3885603 by Ben.Marsh Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode. #jira Change 3885566 by Phillip.Kavan Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code. Change summary: - Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization. #jira UE-55061 Change 3885481 by Mark.Satterthwaite Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier). #jira UE-54333 Change 3885461 by Lauren.Ridge Fix for slot not being initialized to null #jira UE-55069 Change 3885455 by zak.parrish Adding initial files for FaceAR scene lookdev #jira none Change 3885446 by Zak.Parrish Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none Change 3885424 by Krzysztof.Narkowicz Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread. #jira UE-53861 Change 3885406 by Zak.Parrish Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639 Change 3885340 by Arne.Schober REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack #jira none Change 3885143 by Marc.Audy Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19 #jira UE-54977 #jira UE-54976 #jira UE-54898 Change 3885093 by Mark.Satterthwaite Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds. #JIRA N/A Change 3884622 by Jurre.deBaare Moving over missing file from changelist for UE-54508 #jira UE-54508 Change 3883391 by Nick.Atamas Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled. Only create ARKit/ARCore tracking systems on iOS/Android. #jira UE-54622 Change 3883257 by Phillip.Kavan Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types. #jira UE-55026 Change 3883024 by Lauren.Ridge Fixing static analysis warning #jira SA Change 3882510 by Michael.Dupuis #jira none : Fixed screen size calculation to take aspect ratio into account correctly Change 3882502 by Lauren.Ridge Fix for material layer parameters not rebuilding and adding save child button #jira UETOOL-1275 Change 3882458 by Krzysztof.Narkowicz Copying cached shadow map assert fix from Fortnite-Main (CL3802813) #jira UE-54747 Change 3882366 by Michael.Karambelas QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests. #jira UE-29618 Change 3881971 by andrew.porter QAGame: Removing actor from Shot_003 #jira UE-29618 Change 3881795 by Krzysztof.Narkowicz Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows #jira UE-53875 Change 3881550 by David.Hibbitts #JIRA UEENT-879 Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed. THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile. Change 3881339 by Jurre.deBaare Moving over: "Editor crashed when attempting to bake out all the material channels #jira UE-54508 #misc small UDN Merge actor / bake material fixes Change 3879557 by Dan.Oconnor Fix stepover behavior when no debug target is selected #jira UE-54978 Change 3879485 by Mike.Beach Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes). #jira UE-54999 Change 3879438 by David.Hibbitts #JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau Change 3879343 by Lina.Halper Last min change that skiped compiling #jira: none Change 3879337 by Lina.Halper Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. #jira: UE-54806 Change 3878968 by Phillip.Kavan Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization. Change summary: - Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties. #jira UE-54981 Change 3878962 by Adrian.Siminciuc https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license) #4.19 #jira UE-54831 #android - shows an error message box informing that the license file could not be written. Change 3878821 by Andrew.Rodham Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3878171 by Chris.Phillips Android: Fixed crash after splash screen when using Vulkan. #jira UE-54299 Change 3877950 by Ethan.Geller Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron Change 3877859 by Nick.Shin rebuilt lighting for TM-ShaderModels and resaved the level #jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5 Change 3877854 by tim.gautier Adding additional (temp) ML Test asset #jira UE-29318 Change 3877609 by Ethan.Geller [4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron Change 3877474 by Lauren.Ridge Adding WITH_EDITOR wrappers to editor-only section of code #jira fixingcompiles Change 3877271 by Arne.Schober REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary #jira none Change 3877260 by Lina.Halper If revision is too far away, ignore the request and send current buffer - this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens #jira: UE-54398 Change 3876950 by Lauren.Ridge Renaming layers in a material instance - from 4.19 preview feedback #jira UETOOL-1296 Change 3876932 by Arciel.Rekman Linux: updated the link to the cross-toolchain (UE-54597). #jira UE-54597 Change 3876918 by Phillip.Kavan Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled. Change summary: - Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class. - Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL. #jira UE-54870 Change 3876759 by tim.gautier Updated Material Layer test assets to include Opacity and Emissive. #jira UE-29318 Change 3876575 by Michael.Karambelas Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes. #jira UE-29618 Change 3876406 by Robert.Manuszewski Fixed a crash when reporting linker errors #jira UE-51037 Change 3875891 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. #jira UE-54914 Change 3875880 by Aaron.McLeran #jira UE-54916 Fixing up submix effect templates Change 3875673 by Brandon.Schaefer Fix Apex dependencies Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs #jira UE-54861 Change 3875498 by Lauren.Ridge PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux) #jira UE-54862 Change 3875322 by tim.gautier Recreating Material Layer test assets (asset version has changed) #jira UE-29318 Change 3875157 by Aaron.McLeran #jira UE-54901 Synth components do not allow sends to buses Change 3875103 by Brandon.Schaefer Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries #jira UE-54815 Change 3875037 by Aaron.McLeran #jira UE-54896 Fixing up audio capture component to parameterize the delay Parameterize the jitter latency delay. Change 3875026 by Aaron.McLeran #jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops Change 3874927 by Ryan.Vance #jira UE-54894 Ensure we don't delete aliased texture resources, they are managed externally. Change 3874925 by Martin.Wilson Remove XR post fix from live link code written during motion controller integration #jira none Change 3874354 by Ben.Marsh Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings. #jira UE-54272 Change 3877545 by Ben.Marsh Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying. Use similar logic for expanding ensure() macros in place. #jira UE-54961 [CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
ISettingsModule* SettingsModule = FModuleManager::LoadModulePtr<ISettingsModule>("Settings");
if (SettingsModule)
{
SettingsModule->RegisterSettings(
MaterialEditorModuleConstants::SettingsContainerName,
MaterialEditorModuleConstants::SettingsCategoryName,
MaterialEditorModuleConstants::SettingsSectionName,
NSLOCTEXT("MaterialEditorModule", "SettingsName", "Material Editor"),
NSLOCTEXT("MaterialEditorModule", "SettingsDesc", "Settings related to the material editor."),
GetMutableDefault<UMaterialEditorSettings>());
}
GraphPanelPinFactory = MakeShared<FMaterialEditorGraphPanelPinFactory>();
FEdGraphUtilities::RegisterVisualPinFactory(GraphPanelPinFactory);
}
/**
* Called before the module is unloaded, right before the module object is destroyed.
*/
virtual void ShutdownModule() override
{
FEdGraphUtilities::UnregisterVisualPinFactory(GraphPanelPinFactory);
MenuExtensibilityManager.Reset();
ToolBarExtensibilityManager.Reset();
}
/**
* Creates a new material editor, either for a material or a material function
*/
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3680113) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3441680 by Uriel.Doyon Added units to point light intensity, to allow the user to specify the value in candelas or lumens. New point light actors now configure the intensity in candelas by default. Replaced viewport exposure settings by an EV100 slider. Hidding the tone mapper in the show flag now still applies the exposure. Added a new AutoExposure method called EV100 which allows to specify : - MinEV100, MaxEV100 - Calibration Constnat - Exposure Compensation #jira UE-42783 Change 3454934 by Chris.Bunner Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability. Change 3629223 by Rolando.Caloca DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847 Change 3629708 by Rolando.Caloca DR - vk - Redo some changes from DevMobile 3601439 3604186 3606672 3617383 3617474 3617483 Change 3636145 by Chris.Bunner Linux compile fix. Change 3636198 by Chris.Bunner Include fix. Change 3636225 by Daniel.Wright Removed spammy draw event Change 3636397 by Daniel.Wright Visualize volumetric lightmaps uses 18% grey in lit mode Change 3636398 by Daniel.Wright Translucency lighting modes work with Volumetric Lightmaps * The old Indirect Lighting Cache always interpolated one sample per object, while Volumetric lightmaps operate at the frequency of the Translucency Lighting Mode (per-vertex or per-pixel) so the lighting accuracy is much higher. * The old ILC always applied the single lighting sample with a per-pixel normal, even in per-vertex lighting modes * Volumetric PerVertex NonDirectional (cheapest lit translucency) went from 74 instructions down to 42 * Volumetric Directional went from 104 up to 122 Change 3636604 by Chris.Bunner Added a material translation error on identically named/associated but differently valued parameters as this will cause one of them to be lost during parameter evaluation, the result being "random". Change 3637668 by Rolando.Caloca DR - hlslcc - Skip preprocessor when not required which reduces peak mem consumption by ~500 MB - Fix missing indexing on intrinsic return type Change 3638541 by Chris.Bunner Fixed editor materials - Skip hardcoded parameter names that we rely on being overridden when checking for non-matching duplicate parameters. Change 3638798 by Mark.Satterthwaite Rebuilt hlslcc for Mac for Rolando's 3637668 changes. Change 3638861 by Mark.Satterthwaite Missed making a log verbose in the Metal ring-buffer. Change 3639482 by Rolando.Caloca DR - vk - Minor fixes Change 3639909 by Michael.Lentine Add special case for struct needed to compile. Workaround issues in parser such that (x)[0] is replaced with x[0] and (x).a is replaced with x.a. Change 3639916 by Michael.Lentine Spelling fix. Change 3640053 by Mark.Satterthwaite Fix Desktop Forward rendering on Nvidia Metal rendering on macOS by modifying the shader and runtime to treat ForwardLocalLightBuffer data as uint rather than float and invert the use of as*() casts. Tthis is *necessary* to avoid a bug/limitation of Nvidia's current Metal shader compiler that flushes all denorm values to zero on load from any resource. AMD & iOS Metal only flush-to-zero when sampling from textures and that's what Apple regard as the expected behaviour. I have however asked them to standardise on the D3D behaviour of preserving denorms on all load, move (incl. min/max/as*()-casts) & store operations. This won't happen in the current or imminent OS/Xcode releases. Now only Intel Metal is broken and their problems run deeper. #jira UE-48881 Change 3640983 by Olaf.Piesche Cache the depth buffer collision shader for GPU particles even when simple forward is enabled, as that can be turned off at runtime. #jira UE-48799 Change 3641480 by Michael.Lentine Add min16float to FP16Math Change 3642442 by Mark.Satterthwaite Fix the native shader libraries again & undo the increase in cook time from changes to the way FShaderCodeLibrary was compiling & deduplicating the shaders. - Remvoe the single linear array for accumulated shader code: reallocating this is tremendously expensive and will double the time taken to iteratively cook large projects. - Uncompress the shader data for the native library system so that it actually works again. - Fix some errant change to the Metal compiler that was trying to wedge the fully compiled library into the single Metal library which is 100% bogus. #jira UE-49192 Change 3642919 by Chris.Bunner Reverted unintended changes to material static parameter set serialization. Bumped material version to force re-serialization. Fixed a few typos. Change 3642923 by Richard.Wallis Fix for "Pixel Inspector On" message not disappearing when closing pixel inspector window while on. Handle tab closed events to cancel the pixel inspector if window closed while running. #jira UE-46504 Change 3643296 by Michael.Lentine Convert all structures that aren't use globally to halfs. Change 3643381 by Ryan.Brucks New Plugin allowing Blueprint Texture and RT reads as well as MIC creation and modification. Change 3643929 by Ben.Salem Added better precision on thread values in Perf Monitor. Also added global thread values to go with per-world ones to help track down the most accurate numbers possible. #tests Ran locally, changes validated by benj Change 3644203 by Mark.Satterthwaite Refactor mtlpp a little bit to make the compiler do more of the work & update for all the latest publicly exposed APIs. Change 3644336 by Mark.Satterthwaite Ref-count the mtlpp Device object so that it can be the repository for IMP caching - now just have to go through the types created from a specific device and have them keep a reference.... Change 3644431 by Uriel.Doyon Added a intensity units property, for point lights and spot lights, that can be set to Candelas, Lumens or Unitless (legacy). The default units value for newly placed point lights and spot lights is configured in the project settings. Spot lights configured in lumens have their whole luminous energy redirected toward the cone. This means that changing the outer cone angle, changes the spot light brightness. New exposure menu that uses an EV100 slider. New post process settings "camera" tab regrouping : ShutterSpeed, ISO, Aperture and ExposureCompensation. Post process settings "auto exposure" tab renamed "exposure". The calibration constant for "Auto Exposure Basic" is now configurable in the advanced tab. The auto exposure method is renamed "Metering Mode" New pre-exposure feature that allows the engine to apply the previous frame exposure before writing to the scene color. This allows the engine to render the scene with similar range than the final color (after exposure), and avoid arithmetic overflow for low precision RT formats. The amount of exposure applied directly is called pre-exposure, and is compensated by a smaller post-exposure value. Change 3645098 by Marcus.Wassmer Don't add meshes twice when in simpleforward Change 3645551 by Daniel.Wright VolumetricScatteringIntensity is greyed out based on Mobility Change 3645707 by Chris.Bunner Skip empty parameters when identifying invalid duplicates during material translation. Change 3646225 by Uriel.Doyon Texture streaming support for particle sub-uv Change 3646323 by Rolando.Caloca DR - vk - Fix bad update texture 2/3d parameters Change 3646463 by Mark.Satterthwaite Metal shader files that can serve as extensions to the metal_stdlib rather than trying to wedge even more into the shader compiler. Might as well leverage Metal's C++'ness. Currently just a skeleton of a buffer type that would better emulate HLSL Buffer<>/RWBuffer<> objects. Change 3646727 by Marcus.Wassmer fix linux and nonunity compiles Change 3647777 by Rolando.Caloca DR - Mobile Vulkan optimization Change 3647822 by Lauren.Ridge Layers are now renameable (except Layer 0 is always "Background") in Material Layers Functions Change 3647918 by Chris.Bunner Static analysis fixes - Monolithic include, forward delcared enums, locally shadowed variable. Change 3648010 by Michael.Lentine Don't use min16float by default. Change 3648015 by Michael.Lentine Add special case fixes for min16float as well as half on console. Change 3648024 by Lauren.Ridge Moving MaterialLayersFunctions Layer naming to EditorOnly wrappers Change 3648127 by Lauren.Ridge Moving name getter functionality to FMaterialLayersFunctions Change 3648265 by Lauren.Ridge Fixing loctext key Change 3648293 by Rolando.Caloca DR - D3D12 fix Change 3648326 by Rolando.Caloca DR - vk - Added subrectangle support when updating Texture2D and Texture3D Change 3648522 by Rolando.Caloca DR - vk - Do not try to create a BufferView of a StructuredBuffer (no valid pixelformat) Change 3648612 by Rolando.Caloca DR - vk - Implement RHIMapStagingSurface Change 3648673 by Rolando.Caloca DR - vk - Reduce Vulkan pipeline cache disk size by filtering duplicated shader ucodes Change 3648913 by Arne.Schober DR - Performance optimization during HLod traversal. using vector load and avoiding array copy by passing it through reference instead through value. Change 3649443 by Daniel.Wright Exposed EmissiveBoost, since Lightmass supports Emissive areas on meshes Change 3650436 by Mark.Satterthwaite Implemented the necessary extensions for Metal shading language to move lots of complexity out of MetalBackend and into actual shader code to make life *vastly* simpler. - Full ue4::typed_buffer<T> wrapper type & associated ue4::buffer<>/ue4::buffer_atomic<> API - totally untested but should be functionally equivalent to HLSL Buffer<T>/RWBuffer<T>. - All the sensible casts I can think of are now defined in ue4_format - any additional ones can just be added. The enurm of formats needs to be exposed to MetalRHI so we upload the correct values, but this should be trivial. - Added a full series of wrappers around texturecube_array and depthcube_array to insulate code from whether it is backed by a real cube_array or a texture2d_array so we don't have to maintain complicated variants for new/old iOS devices. - Added implementations for a bunch of annoying HLSL & GLSL intrinsics that were being matched by name + reverse_bits which needs a custom implementation on old shader standards. Change 3650861 by Rolando.Caloca DR - vk - Fix warnings Change 3651116 by Rolando.Caloca DR - vk - Support for compressed saved PSO cache Change 3651321 by Rolando.Caloca DR - vk - Prep for load multiple PSO files Change 3651337 by Chris.Bunner Editor-only default material fallback (hardcoded material). #jira UE-48404 Change 3651839 by Rolando.Caloca DR - vk - Integrate minor pipeline changes Change 3652042 by Mark.Satterthwaite More work on mtlpp: - Selector class that caches IMP from SEL & Class. - Fixes to ns::Error. - Added test case application for testing denorm & float reinterpret-cast behaviour on Metal. Change 3652370 by Uriel.Doyon New "stat StreamingOverview" giving high level metrics of texture usage. New function ResetAverageRequiredTexturePoolSize() and GetAverageRequiredTexturePoolSize() giving the average ideal value for "r.streaming.poolsize". Change 3653658 by Chris.Bunner Material vertex interpolator for sprite and gpu sprite particles. Change 3653676 by Rolando.Caloca DR - vk - Integrate changes: Multiple PSO caches, shared ucode & compression, size reduction up to 80% Change 3653940 by Daniel.Wright Moved Volumetric Lightmap textures out of FScene and into FPrecomputedVolumetricLightmapData so their lifetime can match the MapBuildData. This allows tossing the source BulkData in game after RHI texture creation even though switching lighting scenarios does Release/InitializeRenderingResources multiple times. Change 3653956 by Daniel.Wright Fixed leak of BatchVisibilityId's Change 3653991 by Daniel.Wright Fixed missing include Change 3654013 by Daniel.Wright Refactored reflection capture composite SM4 handling, now forces fully rough even if !REFLECTION_COMPOSITE_USE_BLENDED_REFLECTION_CAPTURES (forward shading default) Change 3654018 by Daniel.Wright Remove unused SM4 reflection capture cubemap Change 3654118 by Rolando.Caloca DR - vk - Fix for queries; support for r.Vulkan.ProfileCmdBuffers to only time cmd buffers w/o gpu bubbles Change 3654339 by Chris.Bunner Temporarily disabed a material error whilst working with content teams to fix the introduced bugs. Change 3654534 by Daniel.Wright Editor is only supported on Feature Level 5 platforms. Added a message box and exit when SM4 is detected (d3d10, OpenGL 3). Change 3654751 by Rolando.Caloca DR - vk - Add readback for RGB10A2; minor optimization Change 3654940 by Rolando.Caloca DR - vk - Warning fix Change 3655104 by Mark.Satterthwaite Add a bunch of code to mtlpp to wrap the Xcode command-line Metal tools and use them to provide a convenient command-line tool that can compile two Metal shaders & diff the resulting AIR to make debugging easier. Obviously this only works on macOS. Change 3655173 by Jian.Ru Render dithered material as masked if a stencil prepass is not used #jira UE-50064, UE-49537 Change 3655479 by Daniel.Wright Fixed HandleLegacyMapBuildData not getting called on P maps loaded in the editor, which apparently was dropped in an integration error, causing all legacy maps (before the BuildData change) to lose their built lighting. Change 3656341 by Richard.Wallis Metal validation checks to test for drawing of the end of a vertex stream as seen in UE-48172 (Landscape Mesh Flickers Rapidly When Using Sculpting Landscape). This is not a fix for that but just a error log to catch the bad draw calls. #jira UE-48172 Change 3656844 by Rolando.Caloca DR - vk - Avoid microcode copy - Fix link error Change 3656894 by Rolando.Caloca DR - vk - Enable api dump without needing validation enabled Change 3656915 by Marcus.Wassmer Fix DX12 buffer lock for read Change 3657166 by Rolando.Caloca DR - vk - Proper fix for api dump layer Change 3657401 by Rolando.Caloca DR - vk - Linux compile fix Change 3657607 by Rolando.Caloca DR - vk - Prep for changes Change 3658722 by Chris.Bunner Refresh shared texture samplers when changing max ansiotropy level (e.g. scalability settings). #jira UE-30086 Change 3659499 by Daniel.Wright Moved bEnableAutoLODGeneration to LOD category so it's not the only one in HLOD category Change 3659644 by Mark.Satterthwaite D3D11 equivalent to 3656341 (only enabled when -d3ddebug is) to validate DrawIndexedPrimitives isn't trying to draw off the end of the instanced vertex streams which has inconsistent (and potentially undefined) behaviour across the various APIs we support. This fires when painting the landscape because the code attempts to render with a FirstInstance value that is as large as the number of elements in the instance-data streams which D3D11 drivers silently fails to render, but which Metal (& probably Vulkan too) will renders as garbage. This pattern is wrong & will be even more dangerous in a Draw*Indirect world. #jira UE-48172 Change 3659831 by Rolando.Caloca DR - vk - Copy 3657927 (fixes for Mali) Change 3661921 by Rolando.Caloca DR - vk - Minor log/info changes Change 3661985 by Mark.Satterthwaite Change the Metal sampler filter translation to better match D3D. Change 3662050 by Richard.Wallis Compile fix for Metal enums. Change 3662062 by Rolando.Caloca DR - Copy from 3662060 - OpenGL cloth fix Change 3662100 by Mark.Satterthwaite Use a temporary file and an atomic move to put the Metal PCH into the right place and reduce the number of false PCH compile failures on the build farm. Change 3662253 by Daniel.Wright Reflection Captures support Lighting Scenarios without recapturing * Reflection Captures are now part of the Map Build * Modifying a capture in editor will display a preview, but game can only display built captures (black for unbuilt with screen message) * Reflection Capture build data moved to the BuildData package * Building lighting / reflection captures no longer dirties ULevels * Sky lights which capture the scene now work correctly with Lighting Scenarios * Lighting Scenarios must now be loaded for each time they are made visible (no switching back and forth while keeping both loaded) Change 3663215 by Mark.Satterthwaite Initial, incomplete, tool added to mtlpp to help debug macOS Internal Compiler Errors - the mtlpp command-line tool can be fed the debug output from UE4 along with compiler settings to automatically compile shaders and construct the render pipeline that crashes the runtime compiler. So far only macOS render-pipeline-states are supported currently. Change 3663293 by Mark.Satterthwaite Added Metal device selection to the mtlpp command-line tool so I can quickly test compile on dual-GPU Macbook Pro's. Change 3663471 by Daniel.Wright Reflection Capture Builds no longer use UEditorLevelUtils::SetLevelVisibility to control level visibility, which streams out sublevels, modifying nav mesh Fixed status updates during Reflection Capture Build Captures overflowing GMaxNumReflectionCaptures now log a warning instead of pretending that they built successfully Change 3664056 by Rolando.Caloca DR - Linux compile fix Change 3664460 by Daniel.Wright Restored unused LoadTimesObjectVersion, packages saved with it will issue a warning on load Change 3664802 by Uriel.Doyon Fixed flash created by pre-exposure when the value changed dramatically between frames Change 3664890 by Daniel.Wright Created 'Stat MapBuildData' to track the memory size of lighting and reflection capture build outputs Change 3665163 by Rolando.Caloca DR - Copy from 3665156 - Gracefully fail when there are mem leaks exiting Vulkan Change 3665629 by Daniel.Wright Only Surface domain materials cast shadows in Lightmass Change 3665855 by Marcus.Wassmer PR #4032: Fix comparison of SceneColorFormat (Contributed by Hybrid0) Change 3666707 by Guillaume.Abadie Replaces some custom material node to get View.BufferSizeAndInvSize with ViewProperty material expression in some engine material functions. Change 3667239 by Rolando.Caloca DR - Use hlslcc define for common issues Change 3668108 by Brian.Karis Disabled to Catmull-Rom filter. Too many flickering issues. Disabled antiflicker as well. Change 3668157 by Mark.Satterthwaite In the prototype Metal stdlib extension library add inline versions of the D3D SM6 "wave" intrinsics that can be expressed in terms of Metal 2.0 simd/quad group operations (macOS=simd, iOS=quad). These are unlikely to be as efficient as direct intrinsics but they should be functionally equivalent. These functions are not available *yet* as I still need to hook the ue4_stdlib into MetalShaderFormat & MetalRHI. The following HLSL 6 functions are implemented: WaveAllBitAnd WaveAllMax WaveAllMin WaveAllBitOr WaveAllBitXor WaveAllEqual WaveAllProduct WaveAllSum WaveAllTrue WaveAnyTrue WaveBallot WaveGetLaneCount WaveGetLaneIndex WaveOnce WavePrefixProduct WavePrefixSum WaveReadFirstLane WaveReadLaneAt The following can't be implemented in Metal as of Metal 2.0 AFAIK: WaveGetOrderedIndex WaveIsHelperLane GlobalOrderedCountIncrement QuadReadLaneAt QuadSwapX QuadSwapY Change 3668260 by Olaf.Piesche Cache particle collision shaders regardless of simple forward state Missed this checkin #jira FORT-51307 Change 3669243 by Daniel.Wright Bumped shader version to propagate FReflectionCaptureData rename Change 3669369 by Mark.Satterthwaite Duplicating Metal changes from //UE4/Release-4.18 to Dev-Rendering (//UE4/Dev-Rendering) 3662503 Collapse system-variables to one declaration in MetalUtils to avoid later shader compiler errors when they are specified more than once, which is seemingly permissable. Fixes volumetric fog. #jira UE-50293 3665210 - Invalidate all Metal shaders again to force a recompile to workaround another driver bug. - On macOS compact the clip-distance value into a single output to avoid bugs in the runtime pipeline compilers. - In SCW's direct-compile mode MetalShaderForamt should always dump the resulting Metal shader and print any errors we encounter to the log. - Change FGenerateMetalVisitor to take a FMetalCodeBackend& not a FMetalCodeBackend* to avoid a lot of pointless pointer validation. #jira UE-50244 3665429 Fix a crash on shutdown due to MetalRHI caching vertex-declarations beyond the lifetime of the RHI by moving the cache into the FMetalDynamicRHI itself. #jira UE-50356 3665613 Fix DistanceField rendering on Metal & the associated validation layer error when it is enabled - MetalRHI can't use the same approach as Vulkan without a bit more work. #jira UE-50364 3667584 Fix black flickering on some materials that use World Position Offset - the Metal sincos intrinsic comes into two flavours for single precision floats and we want the precise version not the fast version. The "cross" implementation needed a few more fma's too and this change has to invalidate Metal shaders again to take effect. #jira UE-50399 3667805 Changing sincos in Metal fragment shaders had undesirable side-effects - the compiler is now re-associating another floating point operation - so limit the use of precise::sincos to vertex-shaders for now. This fixes the WPO materials without causing any other obvious problems. #jira UE-50399 Change 3669912 by Mark.Satterthwaite Fix Metal compilation for PCSS shadows - the HLSL that is compiled uses both SampleCmp and Sample which GLSL disallows (shadowSampler types in GLSL only allow SampleCmp) but is perfectly valid in Metal where only the texture type declaration changes. Duplicate MetalBackend.cpp changes from Joe.Graf's: 3667781 Fixed an extra ) being emitted during HLSL->Metal translation Added depthcube_array support per Mark's instructions Change 3670308 by Mark.Satterthwaite Missing autorelease pool blocks in MetalTexture functions. Change 3670989 by Mark.Satterthwaite Stop trying to be so clever with Metal clip-distances: AMD have a bug in 10.13.0 that means we can only emit one clip-distance value, so simply emit the value with the lowest index (we have handily ordered them by importance!) and let the others become user-interpolators until this bug is resolved in a macOS SU (according to Max@AMD the fix is in, just not in time for 4.18). This means planar reflections will work, VR no-multi-view-fallback will work & layered rendering will work either individually or together - the difference being that on macOS *only* the VR no-multi-view-fallback & layered rendering paths may be slower when combined with the global clip plane. Hit & run fix to MetalCaptureManager and availability of tile-shader functions while I'm here. #jira UE-50518 Change 3671014 by Mark.Satterthwaite Correct handling of RowLinearPVRTC blits for iOS Metal desired for Ocean. Change 3671575 by Rolando.Caloca DR - Copy 3668036 Stop syncing CPU with GPU on Vulkan Change 3671637 by Rolando.Caloca DR - Copy 3670937 Fixes Vulkan editor outline Change 3672309 by Mark.Satterthwaite Submitted on behalf of Richard Wallis: Only disable V-Sync on Metal in macOS 10.13 when running in "true" fullscreen mode (where we switch display modes & forbid switching spaces or tabbing out) so that you won't see the rainbow artefact caused by being out-of-sync with WindowServer, only the tearing you'd expect when V-Sync is disabled. We'll chat with Apple about whether there is a way to avoid the rainbow artefact when switching spaces in Windowed Fullscreen with displaySync disabled. #jira UE-50134 Change 3672314 by Daniel.Wright User friendly message dialog for when a required key is missing from BaseLightmass.ini Change 3672315 by Daniel.Wright Assert on load when a uniform buffer struct goes missing, instead of a crash on save Change 3672476 by Chris.Bunner Removed duplicate material instance editor command binding that appeared in a task stream merge. Change 3672626 by Mark.Satterthwaite Move the ue4_stdlib.metal extensions to MetalRHI's Public header directory as it'll need to be available to both modules and that's easier to accomplish from here. Change 3672643 by Mark.Satterthwaite iOS compilation fixes. Change 3672728 by Daniel.Wright Fixed encoded HDR reflection captures Change 3672753 by Jian.Ru Fix texture swimming #jira UE-49369 Change 3672815 by Daniel.Wright Tooltip for build button explaining why it might be disabled Change 3673350 by Rolando.Caloca DR - vk - Do not reallocate memory every draw call Change 3673501 by Rolando.Caloca DR - vk - Remove more reallocations Change 3673505 by Rolando.Caloca DR - Remove global variable with semantic Change 3673514 by Rolando.Caloca DR - vk - compile fix Change 3675899 by Chris.Bunner Fixed support for editor-time transient parameter overrides. This happens when a compiled material's scalar or vector parameter is changed in value only, the active material resources should also update and be reverted when the material graph is closed. The code was incorrectly pulling base parameters from expressions instead of the actual uniform. Change 3676843 by Arne.Schober DR - UE-49473 - Fix Stateleak caused by custom drawer in the long for loop, where the depth stencil state might not be reset in a subsequent itteration of the loop. Change 3678269 by Daniel.Wright Fixed Encoded HDR reflection capture data getting the wrong Brightness applied when cooking Change 3678543 by Daniel.Wright MapBuildData now tosses the unneeded reflection capture format on load. Affects target platforms that require multiple formats at cook time. Change 3679602 by Jian.Ru Fix up mesh decal shader complexity view mode #jira UE-50272 Change 3679959 by Chris.Bunner Fixed logic on overriden vector parameter retrieval for material instances checking a function owned parameter. #jira UE-50712 Change 3679998 by Daniel.Wright Fixed crash when precomputing static visibility only [CL 3680175 by Marcus Wassmer in Main branch]
2017-10-04 13:36:51 -04:00
virtual TSharedRef<IMaterialEditor> CreateMaterialEditor(const EToolkitMode::Type Mode, const TSharedPtr< IToolkitHost >& InitToolkitHost, UMaterial* Material) override
{
TSharedRef<FMaterialEditor> NewMaterialEditor(new FMaterialEditor());
NewMaterialEditor->InitEditorForMaterial(Material);
OnMaterialEditorOpened().Broadcast(NewMaterialEditor);
NewMaterialEditor->InitMaterialEditor(Mode, InitToolkitHost, Material);
return NewMaterialEditor;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3680113) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3441680 by Uriel.Doyon Added units to point light intensity, to allow the user to specify the value in candelas or lumens. New point light actors now configure the intensity in candelas by default. Replaced viewport exposure settings by an EV100 slider. Hidding the tone mapper in the show flag now still applies the exposure. Added a new AutoExposure method called EV100 which allows to specify : - MinEV100, MaxEV100 - Calibration Constnat - Exposure Compensation #jira UE-42783 Change 3454934 by Chris.Bunner Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability. Change 3629223 by Rolando.Caloca DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847 Change 3629708 by Rolando.Caloca DR - vk - Redo some changes from DevMobile 3601439 3604186 3606672 3617383 3617474 3617483 Change 3636145 by Chris.Bunner Linux compile fix. Change 3636198 by Chris.Bunner Include fix. Change 3636225 by Daniel.Wright Removed spammy draw event Change 3636397 by Daniel.Wright Visualize volumetric lightmaps uses 18% grey in lit mode Change 3636398 by Daniel.Wright Translucency lighting modes work with Volumetric Lightmaps * The old Indirect Lighting Cache always interpolated one sample per object, while Volumetric lightmaps operate at the frequency of the Translucency Lighting Mode (per-vertex or per-pixel) so the lighting accuracy is much higher. * The old ILC always applied the single lighting sample with a per-pixel normal, even in per-vertex lighting modes * Volumetric PerVertex NonDirectional (cheapest lit translucency) went from 74 instructions down to 42 * Volumetric Directional went from 104 up to 122 Change 3636604 by Chris.Bunner Added a material translation error on identically named/associated but differently valued parameters as this will cause one of them to be lost during parameter evaluation, the result being "random". Change 3637668 by Rolando.Caloca DR - hlslcc - Skip preprocessor when not required which reduces peak mem consumption by ~500 MB - Fix missing indexing on intrinsic return type Change 3638541 by Chris.Bunner Fixed editor materials - Skip hardcoded parameter names that we rely on being overridden when checking for non-matching duplicate parameters. Change 3638798 by Mark.Satterthwaite Rebuilt hlslcc for Mac for Rolando's 3637668 changes. Change 3638861 by Mark.Satterthwaite Missed making a log verbose in the Metal ring-buffer. Change 3639482 by Rolando.Caloca DR - vk - Minor fixes Change 3639909 by Michael.Lentine Add special case for struct needed to compile. Workaround issues in parser such that (x)[0] is replaced with x[0] and (x).a is replaced with x.a. Change 3639916 by Michael.Lentine Spelling fix. Change 3640053 by Mark.Satterthwaite Fix Desktop Forward rendering on Nvidia Metal rendering on macOS by modifying the shader and runtime to treat ForwardLocalLightBuffer data as uint rather than float and invert the use of as*() casts. Tthis is *necessary* to avoid a bug/limitation of Nvidia's current Metal shader compiler that flushes all denorm values to zero on load from any resource. AMD & iOS Metal only flush-to-zero when sampling from textures and that's what Apple regard as the expected behaviour. I have however asked them to standardise on the D3D behaviour of preserving denorms on all load, move (incl. min/max/as*()-casts) & store operations. This won't happen in the current or imminent OS/Xcode releases. Now only Intel Metal is broken and their problems run deeper. #jira UE-48881 Change 3640983 by Olaf.Piesche Cache the depth buffer collision shader for GPU particles even when simple forward is enabled, as that can be turned off at runtime. #jira UE-48799 Change 3641480 by Michael.Lentine Add min16float to FP16Math Change 3642442 by Mark.Satterthwaite Fix the native shader libraries again & undo the increase in cook time from changes to the way FShaderCodeLibrary was compiling & deduplicating the shaders. - Remvoe the single linear array for accumulated shader code: reallocating this is tremendously expensive and will double the time taken to iteratively cook large projects. - Uncompress the shader data for the native library system so that it actually works again. - Fix some errant change to the Metal compiler that was trying to wedge the fully compiled library into the single Metal library which is 100% bogus. #jira UE-49192 Change 3642919 by Chris.Bunner Reverted unintended changes to material static parameter set serialization. Bumped material version to force re-serialization. Fixed a few typos. Change 3642923 by Richard.Wallis Fix for "Pixel Inspector On" message not disappearing when closing pixel inspector window while on. Handle tab closed events to cancel the pixel inspector if window closed while running. #jira UE-46504 Change 3643296 by Michael.Lentine Convert all structures that aren't use globally to halfs. Change 3643381 by Ryan.Brucks New Plugin allowing Blueprint Texture and RT reads as well as MIC creation and modification. Change 3643929 by Ben.Salem Added better precision on thread values in Perf Monitor. Also added global thread values to go with per-world ones to help track down the most accurate numbers possible. #tests Ran locally, changes validated by benj Change 3644203 by Mark.Satterthwaite Refactor mtlpp a little bit to make the compiler do more of the work & update for all the latest publicly exposed APIs. Change 3644336 by Mark.Satterthwaite Ref-count the mtlpp Device object so that it can be the repository for IMP caching - now just have to go through the types created from a specific device and have them keep a reference.... Change 3644431 by Uriel.Doyon Added a intensity units property, for point lights and spot lights, that can be set to Candelas, Lumens or Unitless (legacy). The default units value for newly placed point lights and spot lights is configured in the project settings. Spot lights configured in lumens have their whole luminous energy redirected toward the cone. This means that changing the outer cone angle, changes the spot light brightness. New exposure menu that uses an EV100 slider. New post process settings "camera" tab regrouping : ShutterSpeed, ISO, Aperture and ExposureCompensation. Post process settings "auto exposure" tab renamed "exposure". The calibration constant for "Auto Exposure Basic" is now configurable in the advanced tab. The auto exposure method is renamed "Metering Mode" New pre-exposure feature that allows the engine to apply the previous frame exposure before writing to the scene color. This allows the engine to render the scene with similar range than the final color (after exposure), and avoid arithmetic overflow for low precision RT formats. The amount of exposure applied directly is called pre-exposure, and is compensated by a smaller post-exposure value. Change 3645098 by Marcus.Wassmer Don't add meshes twice when in simpleforward Change 3645551 by Daniel.Wright VolumetricScatteringIntensity is greyed out based on Mobility Change 3645707 by Chris.Bunner Skip empty parameters when identifying invalid duplicates during material translation. Change 3646225 by Uriel.Doyon Texture streaming support for particle sub-uv Change 3646323 by Rolando.Caloca DR - vk - Fix bad update texture 2/3d parameters Change 3646463 by Mark.Satterthwaite Metal shader files that can serve as extensions to the metal_stdlib rather than trying to wedge even more into the shader compiler. Might as well leverage Metal's C++'ness. Currently just a skeleton of a buffer type that would better emulate HLSL Buffer<>/RWBuffer<> objects. Change 3646727 by Marcus.Wassmer fix linux and nonunity compiles Change 3647777 by Rolando.Caloca DR - Mobile Vulkan optimization Change 3647822 by Lauren.Ridge Layers are now renameable (except Layer 0 is always "Background") in Material Layers Functions Change 3647918 by Chris.Bunner Static analysis fixes - Monolithic include, forward delcared enums, locally shadowed variable. Change 3648010 by Michael.Lentine Don't use min16float by default. Change 3648015 by Michael.Lentine Add special case fixes for min16float as well as half on console. Change 3648024 by Lauren.Ridge Moving MaterialLayersFunctions Layer naming to EditorOnly wrappers Change 3648127 by Lauren.Ridge Moving name getter functionality to FMaterialLayersFunctions Change 3648265 by Lauren.Ridge Fixing loctext key Change 3648293 by Rolando.Caloca DR - D3D12 fix Change 3648326 by Rolando.Caloca DR - vk - Added subrectangle support when updating Texture2D and Texture3D Change 3648522 by Rolando.Caloca DR - vk - Do not try to create a BufferView of a StructuredBuffer (no valid pixelformat) Change 3648612 by Rolando.Caloca DR - vk - Implement RHIMapStagingSurface Change 3648673 by Rolando.Caloca DR - vk - Reduce Vulkan pipeline cache disk size by filtering duplicated shader ucodes Change 3648913 by Arne.Schober DR - Performance optimization during HLod traversal. using vector load and avoiding array copy by passing it through reference instead through value. Change 3649443 by Daniel.Wright Exposed EmissiveBoost, since Lightmass supports Emissive areas on meshes Change 3650436 by Mark.Satterthwaite Implemented the necessary extensions for Metal shading language to move lots of complexity out of MetalBackend and into actual shader code to make life *vastly* simpler. - Full ue4::typed_buffer<T> wrapper type & associated ue4::buffer<>/ue4::buffer_atomic<> API - totally untested but should be functionally equivalent to HLSL Buffer<T>/RWBuffer<T>. - All the sensible casts I can think of are now defined in ue4_format - any additional ones can just be added. The enurm of formats needs to be exposed to MetalRHI so we upload the correct values, but this should be trivial. - Added a full series of wrappers around texturecube_array and depthcube_array to insulate code from whether it is backed by a real cube_array or a texture2d_array so we don't have to maintain complicated variants for new/old iOS devices. - Added implementations for a bunch of annoying HLSL & GLSL intrinsics that were being matched by name + reverse_bits which needs a custom implementation on old shader standards. Change 3650861 by Rolando.Caloca DR - vk - Fix warnings Change 3651116 by Rolando.Caloca DR - vk - Support for compressed saved PSO cache Change 3651321 by Rolando.Caloca DR - vk - Prep for load multiple PSO files Change 3651337 by Chris.Bunner Editor-only default material fallback (hardcoded material). #jira UE-48404 Change 3651839 by Rolando.Caloca DR - vk - Integrate minor pipeline changes Change 3652042 by Mark.Satterthwaite More work on mtlpp: - Selector class that caches IMP from SEL & Class. - Fixes to ns::Error. - Added test case application for testing denorm & float reinterpret-cast behaviour on Metal. Change 3652370 by Uriel.Doyon New "stat StreamingOverview" giving high level metrics of texture usage. New function ResetAverageRequiredTexturePoolSize() and GetAverageRequiredTexturePoolSize() giving the average ideal value for "r.streaming.poolsize". Change 3653658 by Chris.Bunner Material vertex interpolator for sprite and gpu sprite particles. Change 3653676 by Rolando.Caloca DR - vk - Integrate changes: Multiple PSO caches, shared ucode & compression, size reduction up to 80% Change 3653940 by Daniel.Wright Moved Volumetric Lightmap textures out of FScene and into FPrecomputedVolumetricLightmapData so their lifetime can match the MapBuildData. This allows tossing the source BulkData in game after RHI texture creation even though switching lighting scenarios does Release/InitializeRenderingResources multiple times. Change 3653956 by Daniel.Wright Fixed leak of BatchVisibilityId's Change 3653991 by Daniel.Wright Fixed missing include Change 3654013 by Daniel.Wright Refactored reflection capture composite SM4 handling, now forces fully rough even if !REFLECTION_COMPOSITE_USE_BLENDED_REFLECTION_CAPTURES (forward shading default) Change 3654018 by Daniel.Wright Remove unused SM4 reflection capture cubemap Change 3654118 by Rolando.Caloca DR - vk - Fix for queries; support for r.Vulkan.ProfileCmdBuffers to only time cmd buffers w/o gpu bubbles Change 3654339 by Chris.Bunner Temporarily disabed a material error whilst working with content teams to fix the introduced bugs. Change 3654534 by Daniel.Wright Editor is only supported on Feature Level 5 platforms. Added a message box and exit when SM4 is detected (d3d10, OpenGL 3). Change 3654751 by Rolando.Caloca DR - vk - Add readback for RGB10A2; minor optimization Change 3654940 by Rolando.Caloca DR - vk - Warning fix Change 3655104 by Mark.Satterthwaite Add a bunch of code to mtlpp to wrap the Xcode command-line Metal tools and use them to provide a convenient command-line tool that can compile two Metal shaders & diff the resulting AIR to make debugging easier. Obviously this only works on macOS. Change 3655173 by Jian.Ru Render dithered material as masked if a stencil prepass is not used #jira UE-50064, UE-49537 Change 3655479 by Daniel.Wright Fixed HandleLegacyMapBuildData not getting called on P maps loaded in the editor, which apparently was dropped in an integration error, causing all legacy maps (before the BuildData change) to lose their built lighting. Change 3656341 by Richard.Wallis Metal validation checks to test for drawing of the end of a vertex stream as seen in UE-48172 (Landscape Mesh Flickers Rapidly When Using Sculpting Landscape). This is not a fix for that but just a error log to catch the bad draw calls. #jira UE-48172 Change 3656844 by Rolando.Caloca DR - vk - Avoid microcode copy - Fix link error Change 3656894 by Rolando.Caloca DR - vk - Enable api dump without needing validation enabled Change 3656915 by Marcus.Wassmer Fix DX12 buffer lock for read Change 3657166 by Rolando.Caloca DR - vk - Proper fix for api dump layer Change 3657401 by Rolando.Caloca DR - vk - Linux compile fix Change 3657607 by Rolando.Caloca DR - vk - Prep for changes Change 3658722 by Chris.Bunner Refresh shared texture samplers when changing max ansiotropy level (e.g. scalability settings). #jira UE-30086 Change 3659499 by Daniel.Wright Moved bEnableAutoLODGeneration to LOD category so it's not the only one in HLOD category Change 3659644 by Mark.Satterthwaite D3D11 equivalent to 3656341 (only enabled when -d3ddebug is) to validate DrawIndexedPrimitives isn't trying to draw off the end of the instanced vertex streams which has inconsistent (and potentially undefined) behaviour across the various APIs we support. This fires when painting the landscape because the code attempts to render with a FirstInstance value that is as large as the number of elements in the instance-data streams which D3D11 drivers silently fails to render, but which Metal (& probably Vulkan too) will renders as garbage. This pattern is wrong & will be even more dangerous in a Draw*Indirect world. #jira UE-48172 Change 3659831 by Rolando.Caloca DR - vk - Copy 3657927 (fixes for Mali) Change 3661921 by Rolando.Caloca DR - vk - Minor log/info changes Change 3661985 by Mark.Satterthwaite Change the Metal sampler filter translation to better match D3D. Change 3662050 by Richard.Wallis Compile fix for Metal enums. Change 3662062 by Rolando.Caloca DR - Copy from 3662060 - OpenGL cloth fix Change 3662100 by Mark.Satterthwaite Use a temporary file and an atomic move to put the Metal PCH into the right place and reduce the number of false PCH compile failures on the build farm. Change 3662253 by Daniel.Wright Reflection Captures support Lighting Scenarios without recapturing * Reflection Captures are now part of the Map Build * Modifying a capture in editor will display a preview, but game can only display built captures (black for unbuilt with screen message) * Reflection Capture build data moved to the BuildData package * Building lighting / reflection captures no longer dirties ULevels * Sky lights which capture the scene now work correctly with Lighting Scenarios * Lighting Scenarios must now be loaded for each time they are made visible (no switching back and forth while keeping both loaded) Change 3663215 by Mark.Satterthwaite Initial, incomplete, tool added to mtlpp to help debug macOS Internal Compiler Errors - the mtlpp command-line tool can be fed the debug output from UE4 along with compiler settings to automatically compile shaders and construct the render pipeline that crashes the runtime compiler. So far only macOS render-pipeline-states are supported currently. Change 3663293 by Mark.Satterthwaite Added Metal device selection to the mtlpp command-line tool so I can quickly test compile on dual-GPU Macbook Pro's. Change 3663471 by Daniel.Wright Reflection Capture Builds no longer use UEditorLevelUtils::SetLevelVisibility to control level visibility, which streams out sublevels, modifying nav mesh Fixed status updates during Reflection Capture Build Captures overflowing GMaxNumReflectionCaptures now log a warning instead of pretending that they built successfully Change 3664056 by Rolando.Caloca DR - Linux compile fix Change 3664460 by Daniel.Wright Restored unused LoadTimesObjectVersion, packages saved with it will issue a warning on load Change 3664802 by Uriel.Doyon Fixed flash created by pre-exposure when the value changed dramatically between frames Change 3664890 by Daniel.Wright Created 'Stat MapBuildData' to track the memory size of lighting and reflection capture build outputs Change 3665163 by Rolando.Caloca DR - Copy from 3665156 - Gracefully fail when there are mem leaks exiting Vulkan Change 3665629 by Daniel.Wright Only Surface domain materials cast shadows in Lightmass Change 3665855 by Marcus.Wassmer PR #4032: Fix comparison of SceneColorFormat (Contributed by Hybrid0) Change 3666707 by Guillaume.Abadie Replaces some custom material node to get View.BufferSizeAndInvSize with ViewProperty material expression in some engine material functions. Change 3667239 by Rolando.Caloca DR - Use hlslcc define for common issues Change 3668108 by Brian.Karis Disabled to Catmull-Rom filter. Too many flickering issues. Disabled antiflicker as well. Change 3668157 by Mark.Satterthwaite In the prototype Metal stdlib extension library add inline versions of the D3D SM6 "wave" intrinsics that can be expressed in terms of Metal 2.0 simd/quad group operations (macOS=simd, iOS=quad). These are unlikely to be as efficient as direct intrinsics but they should be functionally equivalent. These functions are not available *yet* as I still need to hook the ue4_stdlib into MetalShaderFormat & MetalRHI. The following HLSL 6 functions are implemented: WaveAllBitAnd WaveAllMax WaveAllMin WaveAllBitOr WaveAllBitXor WaveAllEqual WaveAllProduct WaveAllSum WaveAllTrue WaveAnyTrue WaveBallot WaveGetLaneCount WaveGetLaneIndex WaveOnce WavePrefixProduct WavePrefixSum WaveReadFirstLane WaveReadLaneAt The following can't be implemented in Metal as of Metal 2.0 AFAIK: WaveGetOrderedIndex WaveIsHelperLane GlobalOrderedCountIncrement QuadReadLaneAt QuadSwapX QuadSwapY Change 3668260 by Olaf.Piesche Cache particle collision shaders regardless of simple forward state Missed this checkin #jira FORT-51307 Change 3669243 by Daniel.Wright Bumped shader version to propagate FReflectionCaptureData rename Change 3669369 by Mark.Satterthwaite Duplicating Metal changes from //UE4/Release-4.18 to Dev-Rendering (//UE4/Dev-Rendering) 3662503 Collapse system-variables to one declaration in MetalUtils to avoid later shader compiler errors when they are specified more than once, which is seemingly permissable. Fixes volumetric fog. #jira UE-50293 3665210 - Invalidate all Metal shaders again to force a recompile to workaround another driver bug. - On macOS compact the clip-distance value into a single output to avoid bugs in the runtime pipeline compilers. - In SCW's direct-compile mode MetalShaderForamt should always dump the resulting Metal shader and print any errors we encounter to the log. - Change FGenerateMetalVisitor to take a FMetalCodeBackend& not a FMetalCodeBackend* to avoid a lot of pointless pointer validation. #jira UE-50244 3665429 Fix a crash on shutdown due to MetalRHI caching vertex-declarations beyond the lifetime of the RHI by moving the cache into the FMetalDynamicRHI itself. #jira UE-50356 3665613 Fix DistanceField rendering on Metal & the associated validation layer error when it is enabled - MetalRHI can't use the same approach as Vulkan without a bit more work. #jira UE-50364 3667584 Fix black flickering on some materials that use World Position Offset - the Metal sincos intrinsic comes into two flavours for single precision floats and we want the precise version not the fast version. The "cross" implementation needed a few more fma's too and this change has to invalidate Metal shaders again to take effect. #jira UE-50399 3667805 Changing sincos in Metal fragment shaders had undesirable side-effects - the compiler is now re-associating another floating point operation - so limit the use of precise::sincos to vertex-shaders for now. This fixes the WPO materials without causing any other obvious problems. #jira UE-50399 Change 3669912 by Mark.Satterthwaite Fix Metal compilation for PCSS shadows - the HLSL that is compiled uses both SampleCmp and Sample which GLSL disallows (shadowSampler types in GLSL only allow SampleCmp) but is perfectly valid in Metal where only the texture type declaration changes. Duplicate MetalBackend.cpp changes from Joe.Graf's: 3667781 Fixed an extra ) being emitted during HLSL->Metal translation Added depthcube_array support per Mark's instructions Change 3670308 by Mark.Satterthwaite Missing autorelease pool blocks in MetalTexture functions. Change 3670989 by Mark.Satterthwaite Stop trying to be so clever with Metal clip-distances: AMD have a bug in 10.13.0 that means we can only emit one clip-distance value, so simply emit the value with the lowest index (we have handily ordered them by importance!) and let the others become user-interpolators until this bug is resolved in a macOS SU (according to Max@AMD the fix is in, just not in time for 4.18). This means planar reflections will work, VR no-multi-view-fallback will work & layered rendering will work either individually or together - the difference being that on macOS *only* the VR no-multi-view-fallback & layered rendering paths may be slower when combined with the global clip plane. Hit & run fix to MetalCaptureManager and availability of tile-shader functions while I'm here. #jira UE-50518 Change 3671014 by Mark.Satterthwaite Correct handling of RowLinearPVRTC blits for iOS Metal desired for Ocean. Change 3671575 by Rolando.Caloca DR - Copy 3668036 Stop syncing CPU with GPU on Vulkan Change 3671637 by Rolando.Caloca DR - Copy 3670937 Fixes Vulkan editor outline Change 3672309 by Mark.Satterthwaite Submitted on behalf of Richard Wallis: Only disable V-Sync on Metal in macOS 10.13 when running in "true" fullscreen mode (where we switch display modes & forbid switching spaces or tabbing out) so that you won't see the rainbow artefact caused by being out-of-sync with WindowServer, only the tearing you'd expect when V-Sync is disabled. We'll chat with Apple about whether there is a way to avoid the rainbow artefact when switching spaces in Windowed Fullscreen with displaySync disabled. #jira UE-50134 Change 3672314 by Daniel.Wright User friendly message dialog for when a required key is missing from BaseLightmass.ini Change 3672315 by Daniel.Wright Assert on load when a uniform buffer struct goes missing, instead of a crash on save Change 3672476 by Chris.Bunner Removed duplicate material instance editor command binding that appeared in a task stream merge. Change 3672626 by Mark.Satterthwaite Move the ue4_stdlib.metal extensions to MetalRHI's Public header directory as it'll need to be available to both modules and that's easier to accomplish from here. Change 3672643 by Mark.Satterthwaite iOS compilation fixes. Change 3672728 by Daniel.Wright Fixed encoded HDR reflection captures Change 3672753 by Jian.Ru Fix texture swimming #jira UE-49369 Change 3672815 by Daniel.Wright Tooltip for build button explaining why it might be disabled Change 3673350 by Rolando.Caloca DR - vk - Do not reallocate memory every draw call Change 3673501 by Rolando.Caloca DR - vk - Remove more reallocations Change 3673505 by Rolando.Caloca DR - Remove global variable with semantic Change 3673514 by Rolando.Caloca DR - vk - compile fix Change 3675899 by Chris.Bunner Fixed support for editor-time transient parameter overrides. This happens when a compiled material's scalar or vector parameter is changed in value only, the active material resources should also update and be reverted when the material graph is closed. The code was incorrectly pulling base parameters from expressions instead of the actual uniform. Change 3676843 by Arne.Schober DR - UE-49473 - Fix Stateleak caused by custom drawer in the long for loop, where the depth stencil state might not be reset in a subsequent itteration of the loop. Change 3678269 by Daniel.Wright Fixed Encoded HDR reflection capture data getting the wrong Brightness applied when cooking Change 3678543 by Daniel.Wright MapBuildData now tosses the unneeded reflection capture format on load. Affects target platforms that require multiple formats at cook time. Change 3679602 by Jian.Ru Fix up mesh decal shader complexity view mode #jira UE-50272 Change 3679959 by Chris.Bunner Fixed logic on overriden vector parameter retrieval for material instances checking a function owned parameter. #jira UE-50712 Change 3679998 by Daniel.Wright Fixed crash when precomputing static visibility only [CL 3680175 by Marcus Wassmer in Main branch]
2017-10-04 13:36:51 -04:00
virtual TSharedRef<IMaterialEditor> CreateMaterialEditor(const EToolkitMode::Type Mode, const TSharedPtr< IToolkitHost >& InitToolkitHost, UMaterialFunction* MaterialFunction) override
{
TSharedRef<FMaterialEditor> NewMaterialEditor(new FMaterialEditor());
NewMaterialEditor->InitEditorForMaterialFunction(MaterialFunction);
OnMaterialFunctionEditorOpened().Broadcast(NewMaterialEditor);
NewMaterialEditor->InitMaterialEditor(Mode, InitToolkitHost, MaterialFunction);
return NewMaterialEditor;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3680113) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3441680 by Uriel.Doyon Added units to point light intensity, to allow the user to specify the value in candelas or lumens. New point light actors now configure the intensity in candelas by default. Replaced viewport exposure settings by an EV100 slider. Hidding the tone mapper in the show flag now still applies the exposure. Added a new AutoExposure method called EV100 which allows to specify : - MinEV100, MaxEV100 - Calibration Constnat - Exposure Compensation #jira UE-42783 Change 3454934 by Chris.Bunner Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability. Change 3629223 by Rolando.Caloca DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847 Change 3629708 by Rolando.Caloca DR - vk - Redo some changes from DevMobile 3601439 3604186 3606672 3617383 3617474 3617483 Change 3636145 by Chris.Bunner Linux compile fix. Change 3636198 by Chris.Bunner Include fix. Change 3636225 by Daniel.Wright Removed spammy draw event Change 3636397 by Daniel.Wright Visualize volumetric lightmaps uses 18% grey in lit mode Change 3636398 by Daniel.Wright Translucency lighting modes work with Volumetric Lightmaps * The old Indirect Lighting Cache always interpolated one sample per object, while Volumetric lightmaps operate at the frequency of the Translucency Lighting Mode (per-vertex or per-pixel) so the lighting accuracy is much higher. * The old ILC always applied the single lighting sample with a per-pixel normal, even in per-vertex lighting modes * Volumetric PerVertex NonDirectional (cheapest lit translucency) went from 74 instructions down to 42 * Volumetric Directional went from 104 up to 122 Change 3636604 by Chris.Bunner Added a material translation error on identically named/associated but differently valued parameters as this will cause one of them to be lost during parameter evaluation, the result being "random". Change 3637668 by Rolando.Caloca DR - hlslcc - Skip preprocessor when not required which reduces peak mem consumption by ~500 MB - Fix missing indexing on intrinsic return type Change 3638541 by Chris.Bunner Fixed editor materials - Skip hardcoded parameter names that we rely on being overridden when checking for non-matching duplicate parameters. Change 3638798 by Mark.Satterthwaite Rebuilt hlslcc for Mac for Rolando's 3637668 changes. Change 3638861 by Mark.Satterthwaite Missed making a log verbose in the Metal ring-buffer. Change 3639482 by Rolando.Caloca DR - vk - Minor fixes Change 3639909 by Michael.Lentine Add special case for struct needed to compile. Workaround issues in parser such that (x)[0] is replaced with x[0] and (x).a is replaced with x.a. Change 3639916 by Michael.Lentine Spelling fix. Change 3640053 by Mark.Satterthwaite Fix Desktop Forward rendering on Nvidia Metal rendering on macOS by modifying the shader and runtime to treat ForwardLocalLightBuffer data as uint rather than float and invert the use of as*() casts. Tthis is *necessary* to avoid a bug/limitation of Nvidia's current Metal shader compiler that flushes all denorm values to zero on load from any resource. AMD & iOS Metal only flush-to-zero when sampling from textures and that's what Apple regard as the expected behaviour. I have however asked them to standardise on the D3D behaviour of preserving denorms on all load, move (incl. min/max/as*()-casts) & store operations. This won't happen in the current or imminent OS/Xcode releases. Now only Intel Metal is broken and their problems run deeper. #jira UE-48881 Change 3640983 by Olaf.Piesche Cache the depth buffer collision shader for GPU particles even when simple forward is enabled, as that can be turned off at runtime. #jira UE-48799 Change 3641480 by Michael.Lentine Add min16float to FP16Math Change 3642442 by Mark.Satterthwaite Fix the native shader libraries again & undo the increase in cook time from changes to the way FShaderCodeLibrary was compiling & deduplicating the shaders. - Remvoe the single linear array for accumulated shader code: reallocating this is tremendously expensive and will double the time taken to iteratively cook large projects. - Uncompress the shader data for the native library system so that it actually works again. - Fix some errant change to the Metal compiler that was trying to wedge the fully compiled library into the single Metal library which is 100% bogus. #jira UE-49192 Change 3642919 by Chris.Bunner Reverted unintended changes to material static parameter set serialization. Bumped material version to force re-serialization. Fixed a few typos. Change 3642923 by Richard.Wallis Fix for "Pixel Inspector On" message not disappearing when closing pixel inspector window while on. Handle tab closed events to cancel the pixel inspector if window closed while running. #jira UE-46504 Change 3643296 by Michael.Lentine Convert all structures that aren't use globally to halfs. Change 3643381 by Ryan.Brucks New Plugin allowing Blueprint Texture and RT reads as well as MIC creation and modification. Change 3643929 by Ben.Salem Added better precision on thread values in Perf Monitor. Also added global thread values to go with per-world ones to help track down the most accurate numbers possible. #tests Ran locally, changes validated by benj Change 3644203 by Mark.Satterthwaite Refactor mtlpp a little bit to make the compiler do more of the work & update for all the latest publicly exposed APIs. Change 3644336 by Mark.Satterthwaite Ref-count the mtlpp Device object so that it can be the repository for IMP caching - now just have to go through the types created from a specific device and have them keep a reference.... Change 3644431 by Uriel.Doyon Added a intensity units property, for point lights and spot lights, that can be set to Candelas, Lumens or Unitless (legacy). The default units value for newly placed point lights and spot lights is configured in the project settings. Spot lights configured in lumens have their whole luminous energy redirected toward the cone. This means that changing the outer cone angle, changes the spot light brightness. New exposure menu that uses an EV100 slider. New post process settings "camera" tab regrouping : ShutterSpeed, ISO, Aperture and ExposureCompensation. Post process settings "auto exposure" tab renamed "exposure". The calibration constant for "Auto Exposure Basic" is now configurable in the advanced tab. The auto exposure method is renamed "Metering Mode" New pre-exposure feature that allows the engine to apply the previous frame exposure before writing to the scene color. This allows the engine to render the scene with similar range than the final color (after exposure), and avoid arithmetic overflow for low precision RT formats. The amount of exposure applied directly is called pre-exposure, and is compensated by a smaller post-exposure value. Change 3645098 by Marcus.Wassmer Don't add meshes twice when in simpleforward Change 3645551 by Daniel.Wright VolumetricScatteringIntensity is greyed out based on Mobility Change 3645707 by Chris.Bunner Skip empty parameters when identifying invalid duplicates during material translation. Change 3646225 by Uriel.Doyon Texture streaming support for particle sub-uv Change 3646323 by Rolando.Caloca DR - vk - Fix bad update texture 2/3d parameters Change 3646463 by Mark.Satterthwaite Metal shader files that can serve as extensions to the metal_stdlib rather than trying to wedge even more into the shader compiler. Might as well leverage Metal's C++'ness. Currently just a skeleton of a buffer type that would better emulate HLSL Buffer<>/RWBuffer<> objects. Change 3646727 by Marcus.Wassmer fix linux and nonunity compiles Change 3647777 by Rolando.Caloca DR - Mobile Vulkan optimization Change 3647822 by Lauren.Ridge Layers are now renameable (except Layer 0 is always "Background") in Material Layers Functions Change 3647918 by Chris.Bunner Static analysis fixes - Monolithic include, forward delcared enums, locally shadowed variable. Change 3648010 by Michael.Lentine Don't use min16float by default. Change 3648015 by Michael.Lentine Add special case fixes for min16float as well as half on console. Change 3648024 by Lauren.Ridge Moving MaterialLayersFunctions Layer naming to EditorOnly wrappers Change 3648127 by Lauren.Ridge Moving name getter functionality to FMaterialLayersFunctions Change 3648265 by Lauren.Ridge Fixing loctext key Change 3648293 by Rolando.Caloca DR - D3D12 fix Change 3648326 by Rolando.Caloca DR - vk - Added subrectangle support when updating Texture2D and Texture3D Change 3648522 by Rolando.Caloca DR - vk - Do not try to create a BufferView of a StructuredBuffer (no valid pixelformat) Change 3648612 by Rolando.Caloca DR - vk - Implement RHIMapStagingSurface Change 3648673 by Rolando.Caloca DR - vk - Reduce Vulkan pipeline cache disk size by filtering duplicated shader ucodes Change 3648913 by Arne.Schober DR - Performance optimization during HLod traversal. using vector load and avoiding array copy by passing it through reference instead through value. Change 3649443 by Daniel.Wright Exposed EmissiveBoost, since Lightmass supports Emissive areas on meshes Change 3650436 by Mark.Satterthwaite Implemented the necessary extensions for Metal shading language to move lots of complexity out of MetalBackend and into actual shader code to make life *vastly* simpler. - Full ue4::typed_buffer<T> wrapper type & associated ue4::buffer<>/ue4::buffer_atomic<> API - totally untested but should be functionally equivalent to HLSL Buffer<T>/RWBuffer<T>. - All the sensible casts I can think of are now defined in ue4_format - any additional ones can just be added. The enurm of formats needs to be exposed to MetalRHI so we upload the correct values, but this should be trivial. - Added a full series of wrappers around texturecube_array and depthcube_array to insulate code from whether it is backed by a real cube_array or a texture2d_array so we don't have to maintain complicated variants for new/old iOS devices. - Added implementations for a bunch of annoying HLSL & GLSL intrinsics that were being matched by name + reverse_bits which needs a custom implementation on old shader standards. Change 3650861 by Rolando.Caloca DR - vk - Fix warnings Change 3651116 by Rolando.Caloca DR - vk - Support for compressed saved PSO cache Change 3651321 by Rolando.Caloca DR - vk - Prep for load multiple PSO files Change 3651337 by Chris.Bunner Editor-only default material fallback (hardcoded material). #jira UE-48404 Change 3651839 by Rolando.Caloca DR - vk - Integrate minor pipeline changes Change 3652042 by Mark.Satterthwaite More work on mtlpp: - Selector class that caches IMP from SEL & Class. - Fixes to ns::Error. - Added test case application for testing denorm & float reinterpret-cast behaviour on Metal. Change 3652370 by Uriel.Doyon New "stat StreamingOverview" giving high level metrics of texture usage. New function ResetAverageRequiredTexturePoolSize() and GetAverageRequiredTexturePoolSize() giving the average ideal value for "r.streaming.poolsize". Change 3653658 by Chris.Bunner Material vertex interpolator for sprite and gpu sprite particles. Change 3653676 by Rolando.Caloca DR - vk - Integrate changes: Multiple PSO caches, shared ucode & compression, size reduction up to 80% Change 3653940 by Daniel.Wright Moved Volumetric Lightmap textures out of FScene and into FPrecomputedVolumetricLightmapData so their lifetime can match the MapBuildData. This allows tossing the source BulkData in game after RHI texture creation even though switching lighting scenarios does Release/InitializeRenderingResources multiple times. Change 3653956 by Daniel.Wright Fixed leak of BatchVisibilityId's Change 3653991 by Daniel.Wright Fixed missing include Change 3654013 by Daniel.Wright Refactored reflection capture composite SM4 handling, now forces fully rough even if !REFLECTION_COMPOSITE_USE_BLENDED_REFLECTION_CAPTURES (forward shading default) Change 3654018 by Daniel.Wright Remove unused SM4 reflection capture cubemap Change 3654118 by Rolando.Caloca DR - vk - Fix for queries; support for r.Vulkan.ProfileCmdBuffers to only time cmd buffers w/o gpu bubbles Change 3654339 by Chris.Bunner Temporarily disabed a material error whilst working with content teams to fix the introduced bugs. Change 3654534 by Daniel.Wright Editor is only supported on Feature Level 5 platforms. Added a message box and exit when SM4 is detected (d3d10, OpenGL 3). Change 3654751 by Rolando.Caloca DR - vk - Add readback for RGB10A2; minor optimization Change 3654940 by Rolando.Caloca DR - vk - Warning fix Change 3655104 by Mark.Satterthwaite Add a bunch of code to mtlpp to wrap the Xcode command-line Metal tools and use them to provide a convenient command-line tool that can compile two Metal shaders & diff the resulting AIR to make debugging easier. Obviously this only works on macOS. Change 3655173 by Jian.Ru Render dithered material as masked if a stencil prepass is not used #jira UE-50064, UE-49537 Change 3655479 by Daniel.Wright Fixed HandleLegacyMapBuildData not getting called on P maps loaded in the editor, which apparently was dropped in an integration error, causing all legacy maps (before the BuildData change) to lose their built lighting. Change 3656341 by Richard.Wallis Metal validation checks to test for drawing of the end of a vertex stream as seen in UE-48172 (Landscape Mesh Flickers Rapidly When Using Sculpting Landscape). This is not a fix for that but just a error log to catch the bad draw calls. #jira UE-48172 Change 3656844 by Rolando.Caloca DR - vk - Avoid microcode copy - Fix link error Change 3656894 by Rolando.Caloca DR - vk - Enable api dump without needing validation enabled Change 3656915 by Marcus.Wassmer Fix DX12 buffer lock for read Change 3657166 by Rolando.Caloca DR - vk - Proper fix for api dump layer Change 3657401 by Rolando.Caloca DR - vk - Linux compile fix Change 3657607 by Rolando.Caloca DR - vk - Prep for changes Change 3658722 by Chris.Bunner Refresh shared texture samplers when changing max ansiotropy level (e.g. scalability settings). #jira UE-30086 Change 3659499 by Daniel.Wright Moved bEnableAutoLODGeneration to LOD category so it's not the only one in HLOD category Change 3659644 by Mark.Satterthwaite D3D11 equivalent to 3656341 (only enabled when -d3ddebug is) to validate DrawIndexedPrimitives isn't trying to draw off the end of the instanced vertex streams which has inconsistent (and potentially undefined) behaviour across the various APIs we support. This fires when painting the landscape because the code attempts to render with a FirstInstance value that is as large as the number of elements in the instance-data streams which D3D11 drivers silently fails to render, but which Metal (& probably Vulkan too) will renders as garbage. This pattern is wrong & will be even more dangerous in a Draw*Indirect world. #jira UE-48172 Change 3659831 by Rolando.Caloca DR - vk - Copy 3657927 (fixes for Mali) Change 3661921 by Rolando.Caloca DR - vk - Minor log/info changes Change 3661985 by Mark.Satterthwaite Change the Metal sampler filter translation to better match D3D. Change 3662050 by Richard.Wallis Compile fix for Metal enums. Change 3662062 by Rolando.Caloca DR - Copy from 3662060 - OpenGL cloth fix Change 3662100 by Mark.Satterthwaite Use a temporary file and an atomic move to put the Metal PCH into the right place and reduce the number of false PCH compile failures on the build farm. Change 3662253 by Daniel.Wright Reflection Captures support Lighting Scenarios without recapturing * Reflection Captures are now part of the Map Build * Modifying a capture in editor will display a preview, but game can only display built captures (black for unbuilt with screen message) * Reflection Capture build data moved to the BuildData package * Building lighting / reflection captures no longer dirties ULevels * Sky lights which capture the scene now work correctly with Lighting Scenarios * Lighting Scenarios must now be loaded for each time they are made visible (no switching back and forth while keeping both loaded) Change 3663215 by Mark.Satterthwaite Initial, incomplete, tool added to mtlpp to help debug macOS Internal Compiler Errors - the mtlpp command-line tool can be fed the debug output from UE4 along with compiler settings to automatically compile shaders and construct the render pipeline that crashes the runtime compiler. So far only macOS render-pipeline-states are supported currently. Change 3663293 by Mark.Satterthwaite Added Metal device selection to the mtlpp command-line tool so I can quickly test compile on dual-GPU Macbook Pro's. Change 3663471 by Daniel.Wright Reflection Capture Builds no longer use UEditorLevelUtils::SetLevelVisibility to control level visibility, which streams out sublevels, modifying nav mesh Fixed status updates during Reflection Capture Build Captures overflowing GMaxNumReflectionCaptures now log a warning instead of pretending that they built successfully Change 3664056 by Rolando.Caloca DR - Linux compile fix Change 3664460 by Daniel.Wright Restored unused LoadTimesObjectVersion, packages saved with it will issue a warning on load Change 3664802 by Uriel.Doyon Fixed flash created by pre-exposure when the value changed dramatically between frames Change 3664890 by Daniel.Wright Created 'Stat MapBuildData' to track the memory size of lighting and reflection capture build outputs Change 3665163 by Rolando.Caloca DR - Copy from 3665156 - Gracefully fail when there are mem leaks exiting Vulkan Change 3665629 by Daniel.Wright Only Surface domain materials cast shadows in Lightmass Change 3665855 by Marcus.Wassmer PR #4032: Fix comparison of SceneColorFormat (Contributed by Hybrid0) Change 3666707 by Guillaume.Abadie Replaces some custom material node to get View.BufferSizeAndInvSize with ViewProperty material expression in some engine material functions. Change 3667239 by Rolando.Caloca DR - Use hlslcc define for common issues Change 3668108 by Brian.Karis Disabled to Catmull-Rom filter. Too many flickering issues. Disabled antiflicker as well. Change 3668157 by Mark.Satterthwaite In the prototype Metal stdlib extension library add inline versions of the D3D SM6 "wave" intrinsics that can be expressed in terms of Metal 2.0 simd/quad group operations (macOS=simd, iOS=quad). These are unlikely to be as efficient as direct intrinsics but they should be functionally equivalent. These functions are not available *yet* as I still need to hook the ue4_stdlib into MetalShaderFormat & MetalRHI. The following HLSL 6 functions are implemented: WaveAllBitAnd WaveAllMax WaveAllMin WaveAllBitOr WaveAllBitXor WaveAllEqual WaveAllProduct WaveAllSum WaveAllTrue WaveAnyTrue WaveBallot WaveGetLaneCount WaveGetLaneIndex WaveOnce WavePrefixProduct WavePrefixSum WaveReadFirstLane WaveReadLaneAt The following can't be implemented in Metal as of Metal 2.0 AFAIK: WaveGetOrderedIndex WaveIsHelperLane GlobalOrderedCountIncrement QuadReadLaneAt QuadSwapX QuadSwapY Change 3668260 by Olaf.Piesche Cache particle collision shaders regardless of simple forward state Missed this checkin #jira FORT-51307 Change 3669243 by Daniel.Wright Bumped shader version to propagate FReflectionCaptureData rename Change 3669369 by Mark.Satterthwaite Duplicating Metal changes from //UE4/Release-4.18 to Dev-Rendering (//UE4/Dev-Rendering) 3662503 Collapse system-variables to one declaration in MetalUtils to avoid later shader compiler errors when they are specified more than once, which is seemingly permissable. Fixes volumetric fog. #jira UE-50293 3665210 - Invalidate all Metal shaders again to force a recompile to workaround another driver bug. - On macOS compact the clip-distance value into a single output to avoid bugs in the runtime pipeline compilers. - In SCW's direct-compile mode MetalShaderForamt should always dump the resulting Metal shader and print any errors we encounter to the log. - Change FGenerateMetalVisitor to take a FMetalCodeBackend& not a FMetalCodeBackend* to avoid a lot of pointless pointer validation. #jira UE-50244 3665429 Fix a crash on shutdown due to MetalRHI caching vertex-declarations beyond the lifetime of the RHI by moving the cache into the FMetalDynamicRHI itself. #jira UE-50356 3665613 Fix DistanceField rendering on Metal & the associated validation layer error when it is enabled - MetalRHI can't use the same approach as Vulkan without a bit more work. #jira UE-50364 3667584 Fix black flickering on some materials that use World Position Offset - the Metal sincos intrinsic comes into two flavours for single precision floats and we want the precise version not the fast version. The "cross" implementation needed a few more fma's too and this change has to invalidate Metal shaders again to take effect. #jira UE-50399 3667805 Changing sincos in Metal fragment shaders had undesirable side-effects - the compiler is now re-associating another floating point operation - so limit the use of precise::sincos to vertex-shaders for now. This fixes the WPO materials without causing any other obvious problems. #jira UE-50399 Change 3669912 by Mark.Satterthwaite Fix Metal compilation for PCSS shadows - the HLSL that is compiled uses both SampleCmp and Sample which GLSL disallows (shadowSampler types in GLSL only allow SampleCmp) but is perfectly valid in Metal where only the texture type declaration changes. Duplicate MetalBackend.cpp changes from Joe.Graf's: 3667781 Fixed an extra ) being emitted during HLSL->Metal translation Added depthcube_array support per Mark's instructions Change 3670308 by Mark.Satterthwaite Missing autorelease pool blocks in MetalTexture functions. Change 3670989 by Mark.Satterthwaite Stop trying to be so clever with Metal clip-distances: AMD have a bug in 10.13.0 that means we can only emit one clip-distance value, so simply emit the value with the lowest index (we have handily ordered them by importance!) and let the others become user-interpolators until this bug is resolved in a macOS SU (according to Max@AMD the fix is in, just not in time for 4.18). This means planar reflections will work, VR no-multi-view-fallback will work & layered rendering will work either individually or together - the difference being that on macOS *only* the VR no-multi-view-fallback & layered rendering paths may be slower when combined with the global clip plane. Hit & run fix to MetalCaptureManager and availability of tile-shader functions while I'm here. #jira UE-50518 Change 3671014 by Mark.Satterthwaite Correct handling of RowLinearPVRTC blits for iOS Metal desired for Ocean. Change 3671575 by Rolando.Caloca DR - Copy 3668036 Stop syncing CPU with GPU on Vulkan Change 3671637 by Rolando.Caloca DR - Copy 3670937 Fixes Vulkan editor outline Change 3672309 by Mark.Satterthwaite Submitted on behalf of Richard Wallis: Only disable V-Sync on Metal in macOS 10.13 when running in "true" fullscreen mode (where we switch display modes & forbid switching spaces or tabbing out) so that you won't see the rainbow artefact caused by being out-of-sync with WindowServer, only the tearing you'd expect when V-Sync is disabled. We'll chat with Apple about whether there is a way to avoid the rainbow artefact when switching spaces in Windowed Fullscreen with displaySync disabled. #jira UE-50134 Change 3672314 by Daniel.Wright User friendly message dialog for when a required key is missing from BaseLightmass.ini Change 3672315 by Daniel.Wright Assert on load when a uniform buffer struct goes missing, instead of a crash on save Change 3672476 by Chris.Bunner Removed duplicate material instance editor command binding that appeared in a task stream merge. Change 3672626 by Mark.Satterthwaite Move the ue4_stdlib.metal extensions to MetalRHI's Public header directory as it'll need to be available to both modules and that's easier to accomplish from here. Change 3672643 by Mark.Satterthwaite iOS compilation fixes. Change 3672728 by Daniel.Wright Fixed encoded HDR reflection captures Change 3672753 by Jian.Ru Fix texture swimming #jira UE-49369 Change 3672815 by Daniel.Wright Tooltip for build button explaining why it might be disabled Change 3673350 by Rolando.Caloca DR - vk - Do not reallocate memory every draw call Change 3673501 by Rolando.Caloca DR - vk - Remove more reallocations Change 3673505 by Rolando.Caloca DR - Remove global variable with semantic Change 3673514 by Rolando.Caloca DR - vk - compile fix Change 3675899 by Chris.Bunner Fixed support for editor-time transient parameter overrides. This happens when a compiled material's scalar or vector parameter is changed in value only, the active material resources should also update and be reverted when the material graph is closed. The code was incorrectly pulling base parameters from expressions instead of the actual uniform. Change 3676843 by Arne.Schober DR - UE-49473 - Fix Stateleak caused by custom drawer in the long for loop, where the depth stencil state might not be reset in a subsequent itteration of the loop. Change 3678269 by Daniel.Wright Fixed Encoded HDR reflection capture data getting the wrong Brightness applied when cooking Change 3678543 by Daniel.Wright MapBuildData now tosses the unneeded reflection capture format on load. Affects target platforms that require multiple formats at cook time. Change 3679602 by Jian.Ru Fix up mesh decal shader complexity view mode #jira UE-50272 Change 3679959 by Chris.Bunner Fixed logic on overriden vector parameter retrieval for material instances checking a function owned parameter. #jira UE-50712 Change 3679998 by Daniel.Wright Fixed crash when precomputing static visibility only [CL 3680175 by Marcus Wassmer in Main branch]
2017-10-04 13:36:51 -04:00
virtual TSharedRef<IMaterialEditor> CreateMaterialInstanceEditor(const EToolkitMode::Type Mode, const TSharedPtr< IToolkitHost >& InitToolkitHost, UMaterialInstance* MaterialInstance) override
{
TSharedRef<FMaterialInstanceEditor> NewMaterialInstanceEditor(new FMaterialInstanceEditor());
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3680113) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3441680 by Uriel.Doyon Added units to point light intensity, to allow the user to specify the value in candelas or lumens. New point light actors now configure the intensity in candelas by default. Replaced viewport exposure settings by an EV100 slider. Hidding the tone mapper in the show flag now still applies the exposure. Added a new AutoExposure method called EV100 which allows to specify : - MinEV100, MaxEV100 - Calibration Constnat - Exposure Compensation #jira UE-42783 Change 3454934 by Chris.Bunner Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability. Change 3629223 by Rolando.Caloca DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847 Change 3629708 by Rolando.Caloca DR - vk - Redo some changes from DevMobile 3601439 3604186 3606672 3617383 3617474 3617483 Change 3636145 by Chris.Bunner Linux compile fix. Change 3636198 by Chris.Bunner Include fix. Change 3636225 by Daniel.Wright Removed spammy draw event Change 3636397 by Daniel.Wright Visualize volumetric lightmaps uses 18% grey in lit mode Change 3636398 by Daniel.Wright Translucency lighting modes work with Volumetric Lightmaps * The old Indirect Lighting Cache always interpolated one sample per object, while Volumetric lightmaps operate at the frequency of the Translucency Lighting Mode (per-vertex or per-pixel) so the lighting accuracy is much higher. * The old ILC always applied the single lighting sample with a per-pixel normal, even in per-vertex lighting modes * Volumetric PerVertex NonDirectional (cheapest lit translucency) went from 74 instructions down to 42 * Volumetric Directional went from 104 up to 122 Change 3636604 by Chris.Bunner Added a material translation error on identically named/associated but differently valued parameters as this will cause one of them to be lost during parameter evaluation, the result being "random". Change 3637668 by Rolando.Caloca DR - hlslcc - Skip preprocessor when not required which reduces peak mem consumption by ~500 MB - Fix missing indexing on intrinsic return type Change 3638541 by Chris.Bunner Fixed editor materials - Skip hardcoded parameter names that we rely on being overridden when checking for non-matching duplicate parameters. Change 3638798 by Mark.Satterthwaite Rebuilt hlslcc for Mac for Rolando's 3637668 changes. Change 3638861 by Mark.Satterthwaite Missed making a log verbose in the Metal ring-buffer. Change 3639482 by Rolando.Caloca DR - vk - Minor fixes Change 3639909 by Michael.Lentine Add special case for struct needed to compile. Workaround issues in parser such that (x)[0] is replaced with x[0] and (x).a is replaced with x.a. Change 3639916 by Michael.Lentine Spelling fix. Change 3640053 by Mark.Satterthwaite Fix Desktop Forward rendering on Nvidia Metal rendering on macOS by modifying the shader and runtime to treat ForwardLocalLightBuffer data as uint rather than float and invert the use of as*() casts. Tthis is *necessary* to avoid a bug/limitation of Nvidia's current Metal shader compiler that flushes all denorm values to zero on load from any resource. AMD & iOS Metal only flush-to-zero when sampling from textures and that's what Apple regard as the expected behaviour. I have however asked them to standardise on the D3D behaviour of preserving denorms on all load, move (incl. min/max/as*()-casts) & store operations. This won't happen in the current or imminent OS/Xcode releases. Now only Intel Metal is broken and their problems run deeper. #jira UE-48881 Change 3640983 by Olaf.Piesche Cache the depth buffer collision shader for GPU particles even when simple forward is enabled, as that can be turned off at runtime. #jira UE-48799 Change 3641480 by Michael.Lentine Add min16float to FP16Math Change 3642442 by Mark.Satterthwaite Fix the native shader libraries again & undo the increase in cook time from changes to the way FShaderCodeLibrary was compiling & deduplicating the shaders. - Remvoe the single linear array for accumulated shader code: reallocating this is tremendously expensive and will double the time taken to iteratively cook large projects. - Uncompress the shader data for the native library system so that it actually works again. - Fix some errant change to the Metal compiler that was trying to wedge the fully compiled library into the single Metal library which is 100% bogus. #jira UE-49192 Change 3642919 by Chris.Bunner Reverted unintended changes to material static parameter set serialization. Bumped material version to force re-serialization. Fixed a few typos. Change 3642923 by Richard.Wallis Fix for "Pixel Inspector On" message not disappearing when closing pixel inspector window while on. Handle tab closed events to cancel the pixel inspector if window closed while running. #jira UE-46504 Change 3643296 by Michael.Lentine Convert all structures that aren't use globally to halfs. Change 3643381 by Ryan.Brucks New Plugin allowing Blueprint Texture and RT reads as well as MIC creation and modification. Change 3643929 by Ben.Salem Added better precision on thread values in Perf Monitor. Also added global thread values to go with per-world ones to help track down the most accurate numbers possible. #tests Ran locally, changes validated by benj Change 3644203 by Mark.Satterthwaite Refactor mtlpp a little bit to make the compiler do more of the work & update for all the latest publicly exposed APIs. Change 3644336 by Mark.Satterthwaite Ref-count the mtlpp Device object so that it can be the repository for IMP caching - now just have to go through the types created from a specific device and have them keep a reference.... Change 3644431 by Uriel.Doyon Added a intensity units property, for point lights and spot lights, that can be set to Candelas, Lumens or Unitless (legacy). The default units value for newly placed point lights and spot lights is configured in the project settings. Spot lights configured in lumens have their whole luminous energy redirected toward the cone. This means that changing the outer cone angle, changes the spot light brightness. New exposure menu that uses an EV100 slider. New post process settings "camera" tab regrouping : ShutterSpeed, ISO, Aperture and ExposureCompensation. Post process settings "auto exposure" tab renamed "exposure". The calibration constant for "Auto Exposure Basic" is now configurable in the advanced tab. The auto exposure method is renamed "Metering Mode" New pre-exposure feature that allows the engine to apply the previous frame exposure before writing to the scene color. This allows the engine to render the scene with similar range than the final color (after exposure), and avoid arithmetic overflow for low precision RT formats. The amount of exposure applied directly is called pre-exposure, and is compensated by a smaller post-exposure value. Change 3645098 by Marcus.Wassmer Don't add meshes twice when in simpleforward Change 3645551 by Daniel.Wright VolumetricScatteringIntensity is greyed out based on Mobility Change 3645707 by Chris.Bunner Skip empty parameters when identifying invalid duplicates during material translation. Change 3646225 by Uriel.Doyon Texture streaming support for particle sub-uv Change 3646323 by Rolando.Caloca DR - vk - Fix bad update texture 2/3d parameters Change 3646463 by Mark.Satterthwaite Metal shader files that can serve as extensions to the metal_stdlib rather than trying to wedge even more into the shader compiler. Might as well leverage Metal's C++'ness. Currently just a skeleton of a buffer type that would better emulate HLSL Buffer<>/RWBuffer<> objects. Change 3646727 by Marcus.Wassmer fix linux and nonunity compiles Change 3647777 by Rolando.Caloca DR - Mobile Vulkan optimization Change 3647822 by Lauren.Ridge Layers are now renameable (except Layer 0 is always "Background") in Material Layers Functions Change 3647918 by Chris.Bunner Static analysis fixes - Monolithic include, forward delcared enums, locally shadowed variable. Change 3648010 by Michael.Lentine Don't use min16float by default. Change 3648015 by Michael.Lentine Add special case fixes for min16float as well as half on console. Change 3648024 by Lauren.Ridge Moving MaterialLayersFunctions Layer naming to EditorOnly wrappers Change 3648127 by Lauren.Ridge Moving name getter functionality to FMaterialLayersFunctions Change 3648265 by Lauren.Ridge Fixing loctext key Change 3648293 by Rolando.Caloca DR - D3D12 fix Change 3648326 by Rolando.Caloca DR - vk - Added subrectangle support when updating Texture2D and Texture3D Change 3648522 by Rolando.Caloca DR - vk - Do not try to create a BufferView of a StructuredBuffer (no valid pixelformat) Change 3648612 by Rolando.Caloca DR - vk - Implement RHIMapStagingSurface Change 3648673 by Rolando.Caloca DR - vk - Reduce Vulkan pipeline cache disk size by filtering duplicated shader ucodes Change 3648913 by Arne.Schober DR - Performance optimization during HLod traversal. using vector load and avoiding array copy by passing it through reference instead through value. Change 3649443 by Daniel.Wright Exposed EmissiveBoost, since Lightmass supports Emissive areas on meshes Change 3650436 by Mark.Satterthwaite Implemented the necessary extensions for Metal shading language to move lots of complexity out of MetalBackend and into actual shader code to make life *vastly* simpler. - Full ue4::typed_buffer<T> wrapper type & associated ue4::buffer<>/ue4::buffer_atomic<> API - totally untested but should be functionally equivalent to HLSL Buffer<T>/RWBuffer<T>. - All the sensible casts I can think of are now defined in ue4_format - any additional ones can just be added. The enurm of formats needs to be exposed to MetalRHI so we upload the correct values, but this should be trivial. - Added a full series of wrappers around texturecube_array and depthcube_array to insulate code from whether it is backed by a real cube_array or a texture2d_array so we don't have to maintain complicated variants for new/old iOS devices. - Added implementations for a bunch of annoying HLSL & GLSL intrinsics that were being matched by name + reverse_bits which needs a custom implementation on old shader standards. Change 3650861 by Rolando.Caloca DR - vk - Fix warnings Change 3651116 by Rolando.Caloca DR - vk - Support for compressed saved PSO cache Change 3651321 by Rolando.Caloca DR - vk - Prep for load multiple PSO files Change 3651337 by Chris.Bunner Editor-only default material fallback (hardcoded material). #jira UE-48404 Change 3651839 by Rolando.Caloca DR - vk - Integrate minor pipeline changes Change 3652042 by Mark.Satterthwaite More work on mtlpp: - Selector class that caches IMP from SEL & Class. - Fixes to ns::Error. - Added test case application for testing denorm & float reinterpret-cast behaviour on Metal. Change 3652370 by Uriel.Doyon New "stat StreamingOverview" giving high level metrics of texture usage. New function ResetAverageRequiredTexturePoolSize() and GetAverageRequiredTexturePoolSize() giving the average ideal value for "r.streaming.poolsize". Change 3653658 by Chris.Bunner Material vertex interpolator for sprite and gpu sprite particles. Change 3653676 by Rolando.Caloca DR - vk - Integrate changes: Multiple PSO caches, shared ucode & compression, size reduction up to 80% Change 3653940 by Daniel.Wright Moved Volumetric Lightmap textures out of FScene and into FPrecomputedVolumetricLightmapData so their lifetime can match the MapBuildData. This allows tossing the source BulkData in game after RHI texture creation even though switching lighting scenarios does Release/InitializeRenderingResources multiple times. Change 3653956 by Daniel.Wright Fixed leak of BatchVisibilityId's Change 3653991 by Daniel.Wright Fixed missing include Change 3654013 by Daniel.Wright Refactored reflection capture composite SM4 handling, now forces fully rough even if !REFLECTION_COMPOSITE_USE_BLENDED_REFLECTION_CAPTURES (forward shading default) Change 3654018 by Daniel.Wright Remove unused SM4 reflection capture cubemap Change 3654118 by Rolando.Caloca DR - vk - Fix for queries; support for r.Vulkan.ProfileCmdBuffers to only time cmd buffers w/o gpu bubbles Change 3654339 by Chris.Bunner Temporarily disabed a material error whilst working with content teams to fix the introduced bugs. Change 3654534 by Daniel.Wright Editor is only supported on Feature Level 5 platforms. Added a message box and exit when SM4 is detected (d3d10, OpenGL 3). Change 3654751 by Rolando.Caloca DR - vk - Add readback for RGB10A2; minor optimization Change 3654940 by Rolando.Caloca DR - vk - Warning fix Change 3655104 by Mark.Satterthwaite Add a bunch of code to mtlpp to wrap the Xcode command-line Metal tools and use them to provide a convenient command-line tool that can compile two Metal shaders & diff the resulting AIR to make debugging easier. Obviously this only works on macOS. Change 3655173 by Jian.Ru Render dithered material as masked if a stencil prepass is not used #jira UE-50064, UE-49537 Change 3655479 by Daniel.Wright Fixed HandleLegacyMapBuildData not getting called on P maps loaded in the editor, which apparently was dropped in an integration error, causing all legacy maps (before the BuildData change) to lose their built lighting. Change 3656341 by Richard.Wallis Metal validation checks to test for drawing of the end of a vertex stream as seen in UE-48172 (Landscape Mesh Flickers Rapidly When Using Sculpting Landscape). This is not a fix for that but just a error log to catch the bad draw calls. #jira UE-48172 Change 3656844 by Rolando.Caloca DR - vk - Avoid microcode copy - Fix link error Change 3656894 by Rolando.Caloca DR - vk - Enable api dump without needing validation enabled Change 3656915 by Marcus.Wassmer Fix DX12 buffer lock for read Change 3657166 by Rolando.Caloca DR - vk - Proper fix for api dump layer Change 3657401 by Rolando.Caloca DR - vk - Linux compile fix Change 3657607 by Rolando.Caloca DR - vk - Prep for changes Change 3658722 by Chris.Bunner Refresh shared texture samplers when changing max ansiotropy level (e.g. scalability settings). #jira UE-30086 Change 3659499 by Daniel.Wright Moved bEnableAutoLODGeneration to LOD category so it's not the only one in HLOD category Change 3659644 by Mark.Satterthwaite D3D11 equivalent to 3656341 (only enabled when -d3ddebug is) to validate DrawIndexedPrimitives isn't trying to draw off the end of the instanced vertex streams which has inconsistent (and potentially undefined) behaviour across the various APIs we support. This fires when painting the landscape because the code attempts to render with a FirstInstance value that is as large as the number of elements in the instance-data streams which D3D11 drivers silently fails to render, but which Metal (& probably Vulkan too) will renders as garbage. This pattern is wrong & will be even more dangerous in a Draw*Indirect world. #jira UE-48172 Change 3659831 by Rolando.Caloca DR - vk - Copy 3657927 (fixes for Mali) Change 3661921 by Rolando.Caloca DR - vk - Minor log/info changes Change 3661985 by Mark.Satterthwaite Change the Metal sampler filter translation to better match D3D. Change 3662050 by Richard.Wallis Compile fix for Metal enums. Change 3662062 by Rolando.Caloca DR - Copy from 3662060 - OpenGL cloth fix Change 3662100 by Mark.Satterthwaite Use a temporary file and an atomic move to put the Metal PCH into the right place and reduce the number of false PCH compile failures on the build farm. Change 3662253 by Daniel.Wright Reflection Captures support Lighting Scenarios without recapturing * Reflection Captures are now part of the Map Build * Modifying a capture in editor will display a preview, but game can only display built captures (black for unbuilt with screen message) * Reflection Capture build data moved to the BuildData package * Building lighting / reflection captures no longer dirties ULevels * Sky lights which capture the scene now work correctly with Lighting Scenarios * Lighting Scenarios must now be loaded for each time they are made visible (no switching back and forth while keeping both loaded) Change 3663215 by Mark.Satterthwaite Initial, incomplete, tool added to mtlpp to help debug macOS Internal Compiler Errors - the mtlpp command-line tool can be fed the debug output from UE4 along with compiler settings to automatically compile shaders and construct the render pipeline that crashes the runtime compiler. So far only macOS render-pipeline-states are supported currently. Change 3663293 by Mark.Satterthwaite Added Metal device selection to the mtlpp command-line tool so I can quickly test compile on dual-GPU Macbook Pro's. Change 3663471 by Daniel.Wright Reflection Capture Builds no longer use UEditorLevelUtils::SetLevelVisibility to control level visibility, which streams out sublevels, modifying nav mesh Fixed status updates during Reflection Capture Build Captures overflowing GMaxNumReflectionCaptures now log a warning instead of pretending that they built successfully Change 3664056 by Rolando.Caloca DR - Linux compile fix Change 3664460 by Daniel.Wright Restored unused LoadTimesObjectVersion, packages saved with it will issue a warning on load Change 3664802 by Uriel.Doyon Fixed flash created by pre-exposure when the value changed dramatically between frames Change 3664890 by Daniel.Wright Created 'Stat MapBuildData' to track the memory size of lighting and reflection capture build outputs Change 3665163 by Rolando.Caloca DR - Copy from 3665156 - Gracefully fail when there are mem leaks exiting Vulkan Change 3665629 by Daniel.Wright Only Surface domain materials cast shadows in Lightmass Change 3665855 by Marcus.Wassmer PR #4032: Fix comparison of SceneColorFormat (Contributed by Hybrid0) Change 3666707 by Guillaume.Abadie Replaces some custom material node to get View.BufferSizeAndInvSize with ViewProperty material expression in some engine material functions. Change 3667239 by Rolando.Caloca DR - Use hlslcc define for common issues Change 3668108 by Brian.Karis Disabled to Catmull-Rom filter. Too many flickering issues. Disabled antiflicker as well. Change 3668157 by Mark.Satterthwaite In the prototype Metal stdlib extension library add inline versions of the D3D SM6 "wave" intrinsics that can be expressed in terms of Metal 2.0 simd/quad group operations (macOS=simd, iOS=quad). These are unlikely to be as efficient as direct intrinsics but they should be functionally equivalent. These functions are not available *yet* as I still need to hook the ue4_stdlib into MetalShaderFormat & MetalRHI. The following HLSL 6 functions are implemented: WaveAllBitAnd WaveAllMax WaveAllMin WaveAllBitOr WaveAllBitXor WaveAllEqual WaveAllProduct WaveAllSum WaveAllTrue WaveAnyTrue WaveBallot WaveGetLaneCount WaveGetLaneIndex WaveOnce WavePrefixProduct WavePrefixSum WaveReadFirstLane WaveReadLaneAt The following can't be implemented in Metal as of Metal 2.0 AFAIK: WaveGetOrderedIndex WaveIsHelperLane GlobalOrderedCountIncrement QuadReadLaneAt QuadSwapX QuadSwapY Change 3668260 by Olaf.Piesche Cache particle collision shaders regardless of simple forward state Missed this checkin #jira FORT-51307 Change 3669243 by Daniel.Wright Bumped shader version to propagate FReflectionCaptureData rename Change 3669369 by Mark.Satterthwaite Duplicating Metal changes from //UE4/Release-4.18 to Dev-Rendering (//UE4/Dev-Rendering) 3662503 Collapse system-variables to one declaration in MetalUtils to avoid later shader compiler errors when they are specified more than once, which is seemingly permissable. Fixes volumetric fog. #jira UE-50293 3665210 - Invalidate all Metal shaders again to force a recompile to workaround another driver bug. - On macOS compact the clip-distance value into a single output to avoid bugs in the runtime pipeline compilers. - In SCW's direct-compile mode MetalShaderForamt should always dump the resulting Metal shader and print any errors we encounter to the log. - Change FGenerateMetalVisitor to take a FMetalCodeBackend& not a FMetalCodeBackend* to avoid a lot of pointless pointer validation. #jira UE-50244 3665429 Fix a crash on shutdown due to MetalRHI caching vertex-declarations beyond the lifetime of the RHI by moving the cache into the FMetalDynamicRHI itself. #jira UE-50356 3665613 Fix DistanceField rendering on Metal & the associated validation layer error when it is enabled - MetalRHI can't use the same approach as Vulkan without a bit more work. #jira UE-50364 3667584 Fix black flickering on some materials that use World Position Offset - the Metal sincos intrinsic comes into two flavours for single precision floats and we want the precise version not the fast version. The "cross" implementation needed a few more fma's too and this change has to invalidate Metal shaders again to take effect. #jira UE-50399 3667805 Changing sincos in Metal fragment shaders had undesirable side-effects - the compiler is now re-associating another floating point operation - so limit the use of precise::sincos to vertex-shaders for now. This fixes the WPO materials without causing any other obvious problems. #jira UE-50399 Change 3669912 by Mark.Satterthwaite Fix Metal compilation for PCSS shadows - the HLSL that is compiled uses both SampleCmp and Sample which GLSL disallows (shadowSampler types in GLSL only allow SampleCmp) but is perfectly valid in Metal where only the texture type declaration changes. Duplicate MetalBackend.cpp changes from Joe.Graf's: 3667781 Fixed an extra ) being emitted during HLSL->Metal translation Added depthcube_array support per Mark's instructions Change 3670308 by Mark.Satterthwaite Missing autorelease pool blocks in MetalTexture functions. Change 3670989 by Mark.Satterthwaite Stop trying to be so clever with Metal clip-distances: AMD have a bug in 10.13.0 that means we can only emit one clip-distance value, so simply emit the value with the lowest index (we have handily ordered them by importance!) and let the others become user-interpolators until this bug is resolved in a macOS SU (according to Max@AMD the fix is in, just not in time for 4.18). This means planar reflections will work, VR no-multi-view-fallback will work & layered rendering will work either individually or together - the difference being that on macOS *only* the VR no-multi-view-fallback & layered rendering paths may be slower when combined with the global clip plane. Hit & run fix to MetalCaptureManager and availability of tile-shader functions while I'm here. #jira UE-50518 Change 3671014 by Mark.Satterthwaite Correct handling of RowLinearPVRTC blits for iOS Metal desired for Ocean. Change 3671575 by Rolando.Caloca DR - Copy 3668036 Stop syncing CPU with GPU on Vulkan Change 3671637 by Rolando.Caloca DR - Copy 3670937 Fixes Vulkan editor outline Change 3672309 by Mark.Satterthwaite Submitted on behalf of Richard Wallis: Only disable V-Sync on Metal in macOS 10.13 when running in "true" fullscreen mode (where we switch display modes & forbid switching spaces or tabbing out) so that you won't see the rainbow artefact caused by being out-of-sync with WindowServer, only the tearing you'd expect when V-Sync is disabled. We'll chat with Apple about whether there is a way to avoid the rainbow artefact when switching spaces in Windowed Fullscreen with displaySync disabled. #jira UE-50134 Change 3672314 by Daniel.Wright User friendly message dialog for when a required key is missing from BaseLightmass.ini Change 3672315 by Daniel.Wright Assert on load when a uniform buffer struct goes missing, instead of a crash on save Change 3672476 by Chris.Bunner Removed duplicate material instance editor command binding that appeared in a task stream merge. Change 3672626 by Mark.Satterthwaite Move the ue4_stdlib.metal extensions to MetalRHI's Public header directory as it'll need to be available to both modules and that's easier to accomplish from here. Change 3672643 by Mark.Satterthwaite iOS compilation fixes. Change 3672728 by Daniel.Wright Fixed encoded HDR reflection captures Change 3672753 by Jian.Ru Fix texture swimming #jira UE-49369 Change 3672815 by Daniel.Wright Tooltip for build button explaining why it might be disabled Change 3673350 by Rolando.Caloca DR - vk - Do not reallocate memory every draw call Change 3673501 by Rolando.Caloca DR - vk - Remove more reallocations Change 3673505 by Rolando.Caloca DR - Remove global variable with semantic Change 3673514 by Rolando.Caloca DR - vk - compile fix Change 3675899 by Chris.Bunner Fixed support for editor-time transient parameter overrides. This happens when a compiled material's scalar or vector parameter is changed in value only, the active material resources should also update and be reverted when the material graph is closed. The code was incorrectly pulling base parameters from expressions instead of the actual uniform. Change 3676843 by Arne.Schober DR - UE-49473 - Fix Stateleak caused by custom drawer in the long for loop, where the depth stencil state might not be reset in a subsequent itteration of the loop. Change 3678269 by Daniel.Wright Fixed Encoded HDR reflection capture data getting the wrong Brightness applied when cooking Change 3678543 by Daniel.Wright MapBuildData now tosses the unneeded reflection capture format on load. Affects target platforms that require multiple formats at cook time. Change 3679602 by Jian.Ru Fix up mesh decal shader complexity view mode #jira UE-50272 Change 3679959 by Chris.Bunner Fixed logic on overriden vector parameter retrieval for material instances checking a function owned parameter. #jira UE-50712 Change 3679998 by Daniel.Wright Fixed crash when precomputing static visibility only [CL 3680175 by Marcus Wassmer in Main branch]
2017-10-04 13:36:51 -04:00
NewMaterialInstanceEditor->InitEditorForMaterial(MaterialInstance);
OnMaterialInstanceEditorOpened().Broadcast(NewMaterialInstanceEditor);
NewMaterialInstanceEditor->InitMaterialInstanceEditor(Mode, InitToolkitHost, MaterialInstance);
return NewMaterialInstanceEditor;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3680113) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3441680 by Uriel.Doyon Added units to point light intensity, to allow the user to specify the value in candelas or lumens. New point light actors now configure the intensity in candelas by default. Replaced viewport exposure settings by an EV100 slider. Hidding the tone mapper in the show flag now still applies the exposure. Added a new AutoExposure method called EV100 which allows to specify : - MinEV100, MaxEV100 - Calibration Constnat - Exposure Compensation #jira UE-42783 Change 3454934 by Chris.Bunner Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability. Change 3629223 by Rolando.Caloca DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847 Change 3629708 by Rolando.Caloca DR - vk - Redo some changes from DevMobile 3601439 3604186 3606672 3617383 3617474 3617483 Change 3636145 by Chris.Bunner Linux compile fix. Change 3636198 by Chris.Bunner Include fix. Change 3636225 by Daniel.Wright Removed spammy draw event Change 3636397 by Daniel.Wright Visualize volumetric lightmaps uses 18% grey in lit mode Change 3636398 by Daniel.Wright Translucency lighting modes work with Volumetric Lightmaps * The old Indirect Lighting Cache always interpolated one sample per object, while Volumetric lightmaps operate at the frequency of the Translucency Lighting Mode (per-vertex or per-pixel) so the lighting accuracy is much higher. * The old ILC always applied the single lighting sample with a per-pixel normal, even in per-vertex lighting modes * Volumetric PerVertex NonDirectional (cheapest lit translucency) went from 74 instructions down to 42 * Volumetric Directional went from 104 up to 122 Change 3636604 by Chris.Bunner Added a material translation error on identically named/associated but differently valued parameters as this will cause one of them to be lost during parameter evaluation, the result being "random". Change 3637668 by Rolando.Caloca DR - hlslcc - Skip preprocessor when not required which reduces peak mem consumption by ~500 MB - Fix missing indexing on intrinsic return type Change 3638541 by Chris.Bunner Fixed editor materials - Skip hardcoded parameter names that we rely on being overridden when checking for non-matching duplicate parameters. Change 3638798 by Mark.Satterthwaite Rebuilt hlslcc for Mac for Rolando's 3637668 changes. Change 3638861 by Mark.Satterthwaite Missed making a log verbose in the Metal ring-buffer. Change 3639482 by Rolando.Caloca DR - vk - Minor fixes Change 3639909 by Michael.Lentine Add special case for struct needed to compile. Workaround issues in parser such that (x)[0] is replaced with x[0] and (x).a is replaced with x.a. Change 3639916 by Michael.Lentine Spelling fix. Change 3640053 by Mark.Satterthwaite Fix Desktop Forward rendering on Nvidia Metal rendering on macOS by modifying the shader and runtime to treat ForwardLocalLightBuffer data as uint rather than float and invert the use of as*() casts. Tthis is *necessary* to avoid a bug/limitation of Nvidia's current Metal shader compiler that flushes all denorm values to zero on load from any resource. AMD & iOS Metal only flush-to-zero when sampling from textures and that's what Apple regard as the expected behaviour. I have however asked them to standardise on the D3D behaviour of preserving denorms on all load, move (incl. min/max/as*()-casts) & store operations. This won't happen in the current or imminent OS/Xcode releases. Now only Intel Metal is broken and their problems run deeper. #jira UE-48881 Change 3640983 by Olaf.Piesche Cache the depth buffer collision shader for GPU particles even when simple forward is enabled, as that can be turned off at runtime. #jira UE-48799 Change 3641480 by Michael.Lentine Add min16float to FP16Math Change 3642442 by Mark.Satterthwaite Fix the native shader libraries again & undo the increase in cook time from changes to the way FShaderCodeLibrary was compiling & deduplicating the shaders. - Remvoe the single linear array for accumulated shader code: reallocating this is tremendously expensive and will double the time taken to iteratively cook large projects. - Uncompress the shader data for the native library system so that it actually works again. - Fix some errant change to the Metal compiler that was trying to wedge the fully compiled library into the single Metal library which is 100% bogus. #jira UE-49192 Change 3642919 by Chris.Bunner Reverted unintended changes to material static parameter set serialization. Bumped material version to force re-serialization. Fixed a few typos. Change 3642923 by Richard.Wallis Fix for "Pixel Inspector On" message not disappearing when closing pixel inspector window while on. Handle tab closed events to cancel the pixel inspector if window closed while running. #jira UE-46504 Change 3643296 by Michael.Lentine Convert all structures that aren't use globally to halfs. Change 3643381 by Ryan.Brucks New Plugin allowing Blueprint Texture and RT reads as well as MIC creation and modification. Change 3643929 by Ben.Salem Added better precision on thread values in Perf Monitor. Also added global thread values to go with per-world ones to help track down the most accurate numbers possible. #tests Ran locally, changes validated by benj Change 3644203 by Mark.Satterthwaite Refactor mtlpp a little bit to make the compiler do more of the work & update for all the latest publicly exposed APIs. Change 3644336 by Mark.Satterthwaite Ref-count the mtlpp Device object so that it can be the repository for IMP caching - now just have to go through the types created from a specific device and have them keep a reference.... Change 3644431 by Uriel.Doyon Added a intensity units property, for point lights and spot lights, that can be set to Candelas, Lumens or Unitless (legacy). The default units value for newly placed point lights and spot lights is configured in the project settings. Spot lights configured in lumens have their whole luminous energy redirected toward the cone. This means that changing the outer cone angle, changes the spot light brightness. New exposure menu that uses an EV100 slider. New post process settings "camera" tab regrouping : ShutterSpeed, ISO, Aperture and ExposureCompensation. Post process settings "auto exposure" tab renamed "exposure". The calibration constant for "Auto Exposure Basic" is now configurable in the advanced tab. The auto exposure method is renamed "Metering Mode" New pre-exposure feature that allows the engine to apply the previous frame exposure before writing to the scene color. This allows the engine to render the scene with similar range than the final color (after exposure), and avoid arithmetic overflow for low precision RT formats. The amount of exposure applied directly is called pre-exposure, and is compensated by a smaller post-exposure value. Change 3645098 by Marcus.Wassmer Don't add meshes twice when in simpleforward Change 3645551 by Daniel.Wright VolumetricScatteringIntensity is greyed out based on Mobility Change 3645707 by Chris.Bunner Skip empty parameters when identifying invalid duplicates during material translation. Change 3646225 by Uriel.Doyon Texture streaming support for particle sub-uv Change 3646323 by Rolando.Caloca DR - vk - Fix bad update texture 2/3d parameters Change 3646463 by Mark.Satterthwaite Metal shader files that can serve as extensions to the metal_stdlib rather than trying to wedge even more into the shader compiler. Might as well leverage Metal's C++'ness. Currently just a skeleton of a buffer type that would better emulate HLSL Buffer<>/RWBuffer<> objects. Change 3646727 by Marcus.Wassmer fix linux and nonunity compiles Change 3647777 by Rolando.Caloca DR - Mobile Vulkan optimization Change 3647822 by Lauren.Ridge Layers are now renameable (except Layer 0 is always "Background") in Material Layers Functions Change 3647918 by Chris.Bunner Static analysis fixes - Monolithic include, forward delcared enums, locally shadowed variable. Change 3648010 by Michael.Lentine Don't use min16float by default. Change 3648015 by Michael.Lentine Add special case fixes for min16float as well as half on console. Change 3648024 by Lauren.Ridge Moving MaterialLayersFunctions Layer naming to EditorOnly wrappers Change 3648127 by Lauren.Ridge Moving name getter functionality to FMaterialLayersFunctions Change 3648265 by Lauren.Ridge Fixing loctext key Change 3648293 by Rolando.Caloca DR - D3D12 fix Change 3648326 by Rolando.Caloca DR - vk - Added subrectangle support when updating Texture2D and Texture3D Change 3648522 by Rolando.Caloca DR - vk - Do not try to create a BufferView of a StructuredBuffer (no valid pixelformat) Change 3648612 by Rolando.Caloca DR - vk - Implement RHIMapStagingSurface Change 3648673 by Rolando.Caloca DR - vk - Reduce Vulkan pipeline cache disk size by filtering duplicated shader ucodes Change 3648913 by Arne.Schober DR - Performance optimization during HLod traversal. using vector load and avoiding array copy by passing it through reference instead through value. Change 3649443 by Daniel.Wright Exposed EmissiveBoost, since Lightmass supports Emissive areas on meshes Change 3650436 by Mark.Satterthwaite Implemented the necessary extensions for Metal shading language to move lots of complexity out of MetalBackend and into actual shader code to make life *vastly* simpler. - Full ue4::typed_buffer<T> wrapper type & associated ue4::buffer<>/ue4::buffer_atomic<> API - totally untested but should be functionally equivalent to HLSL Buffer<T>/RWBuffer<T>. - All the sensible casts I can think of are now defined in ue4_format - any additional ones can just be added. The enurm of formats needs to be exposed to MetalRHI so we upload the correct values, but this should be trivial. - Added a full series of wrappers around texturecube_array and depthcube_array to insulate code from whether it is backed by a real cube_array or a texture2d_array so we don't have to maintain complicated variants for new/old iOS devices. - Added implementations for a bunch of annoying HLSL & GLSL intrinsics that were being matched by name + reverse_bits which needs a custom implementation on old shader standards. Change 3650861 by Rolando.Caloca DR - vk - Fix warnings Change 3651116 by Rolando.Caloca DR - vk - Support for compressed saved PSO cache Change 3651321 by Rolando.Caloca DR - vk - Prep for load multiple PSO files Change 3651337 by Chris.Bunner Editor-only default material fallback (hardcoded material). #jira UE-48404 Change 3651839 by Rolando.Caloca DR - vk - Integrate minor pipeline changes Change 3652042 by Mark.Satterthwaite More work on mtlpp: - Selector class that caches IMP from SEL & Class. - Fixes to ns::Error. - Added test case application for testing denorm & float reinterpret-cast behaviour on Metal. Change 3652370 by Uriel.Doyon New "stat StreamingOverview" giving high level metrics of texture usage. New function ResetAverageRequiredTexturePoolSize() and GetAverageRequiredTexturePoolSize() giving the average ideal value for "r.streaming.poolsize". Change 3653658 by Chris.Bunner Material vertex interpolator for sprite and gpu sprite particles. Change 3653676 by Rolando.Caloca DR - vk - Integrate changes: Multiple PSO caches, shared ucode & compression, size reduction up to 80% Change 3653940 by Daniel.Wright Moved Volumetric Lightmap textures out of FScene and into FPrecomputedVolumetricLightmapData so their lifetime can match the MapBuildData. This allows tossing the source BulkData in game after RHI texture creation even though switching lighting scenarios does Release/InitializeRenderingResources multiple times. Change 3653956 by Daniel.Wright Fixed leak of BatchVisibilityId's Change 3653991 by Daniel.Wright Fixed missing include Change 3654013 by Daniel.Wright Refactored reflection capture composite SM4 handling, now forces fully rough even if !REFLECTION_COMPOSITE_USE_BLENDED_REFLECTION_CAPTURES (forward shading default) Change 3654018 by Daniel.Wright Remove unused SM4 reflection capture cubemap Change 3654118 by Rolando.Caloca DR - vk - Fix for queries; support for r.Vulkan.ProfileCmdBuffers to only time cmd buffers w/o gpu bubbles Change 3654339 by Chris.Bunner Temporarily disabed a material error whilst working with content teams to fix the introduced bugs. Change 3654534 by Daniel.Wright Editor is only supported on Feature Level 5 platforms. Added a message box and exit when SM4 is detected (d3d10, OpenGL 3). Change 3654751 by Rolando.Caloca DR - vk - Add readback for RGB10A2; minor optimization Change 3654940 by Rolando.Caloca DR - vk - Warning fix Change 3655104 by Mark.Satterthwaite Add a bunch of code to mtlpp to wrap the Xcode command-line Metal tools and use them to provide a convenient command-line tool that can compile two Metal shaders & diff the resulting AIR to make debugging easier. Obviously this only works on macOS. Change 3655173 by Jian.Ru Render dithered material as masked if a stencil prepass is not used #jira UE-50064, UE-49537 Change 3655479 by Daniel.Wright Fixed HandleLegacyMapBuildData not getting called on P maps loaded in the editor, which apparently was dropped in an integration error, causing all legacy maps (before the BuildData change) to lose their built lighting. Change 3656341 by Richard.Wallis Metal validation checks to test for drawing of the end of a vertex stream as seen in UE-48172 (Landscape Mesh Flickers Rapidly When Using Sculpting Landscape). This is not a fix for that but just a error log to catch the bad draw calls. #jira UE-48172 Change 3656844 by Rolando.Caloca DR - vk - Avoid microcode copy - Fix link error Change 3656894 by Rolando.Caloca DR - vk - Enable api dump without needing validation enabled Change 3656915 by Marcus.Wassmer Fix DX12 buffer lock for read Change 3657166 by Rolando.Caloca DR - vk - Proper fix for api dump layer Change 3657401 by Rolando.Caloca DR - vk - Linux compile fix Change 3657607 by Rolando.Caloca DR - vk - Prep for changes Change 3658722 by Chris.Bunner Refresh shared texture samplers when changing max ansiotropy level (e.g. scalability settings). #jira UE-30086 Change 3659499 by Daniel.Wright Moved bEnableAutoLODGeneration to LOD category so it's not the only one in HLOD category Change 3659644 by Mark.Satterthwaite D3D11 equivalent to 3656341 (only enabled when -d3ddebug is) to validate DrawIndexedPrimitives isn't trying to draw off the end of the instanced vertex streams which has inconsistent (and potentially undefined) behaviour across the various APIs we support. This fires when painting the landscape because the code attempts to render with a FirstInstance value that is as large as the number of elements in the instance-data streams which D3D11 drivers silently fails to render, but which Metal (& probably Vulkan too) will renders as garbage. This pattern is wrong & will be even more dangerous in a Draw*Indirect world. #jira UE-48172 Change 3659831 by Rolando.Caloca DR - vk - Copy 3657927 (fixes for Mali) Change 3661921 by Rolando.Caloca DR - vk - Minor log/info changes Change 3661985 by Mark.Satterthwaite Change the Metal sampler filter translation to better match D3D. Change 3662050 by Richard.Wallis Compile fix for Metal enums. Change 3662062 by Rolando.Caloca DR - Copy from 3662060 - OpenGL cloth fix Change 3662100 by Mark.Satterthwaite Use a temporary file and an atomic move to put the Metal PCH into the right place and reduce the number of false PCH compile failures on the build farm. Change 3662253 by Daniel.Wright Reflection Captures support Lighting Scenarios without recapturing * Reflection Captures are now part of the Map Build * Modifying a capture in editor will display a preview, but game can only display built captures (black for unbuilt with screen message) * Reflection Capture build data moved to the BuildData package * Building lighting / reflection captures no longer dirties ULevels * Sky lights which capture the scene now work correctly with Lighting Scenarios * Lighting Scenarios must now be loaded for each time they are made visible (no switching back and forth while keeping both loaded) Change 3663215 by Mark.Satterthwaite Initial, incomplete, tool added to mtlpp to help debug macOS Internal Compiler Errors - the mtlpp command-line tool can be fed the debug output from UE4 along with compiler settings to automatically compile shaders and construct the render pipeline that crashes the runtime compiler. So far only macOS render-pipeline-states are supported currently. Change 3663293 by Mark.Satterthwaite Added Metal device selection to the mtlpp command-line tool so I can quickly test compile on dual-GPU Macbook Pro's. Change 3663471 by Daniel.Wright Reflection Capture Builds no longer use UEditorLevelUtils::SetLevelVisibility to control level visibility, which streams out sublevels, modifying nav mesh Fixed status updates during Reflection Capture Build Captures overflowing GMaxNumReflectionCaptures now log a warning instead of pretending that they built successfully Change 3664056 by Rolando.Caloca DR - Linux compile fix Change 3664460 by Daniel.Wright Restored unused LoadTimesObjectVersion, packages saved with it will issue a warning on load Change 3664802 by Uriel.Doyon Fixed flash created by pre-exposure when the value changed dramatically between frames Change 3664890 by Daniel.Wright Created 'Stat MapBuildData' to track the memory size of lighting and reflection capture build outputs Change 3665163 by Rolando.Caloca DR - Copy from 3665156 - Gracefully fail when there are mem leaks exiting Vulkan Change 3665629 by Daniel.Wright Only Surface domain materials cast shadows in Lightmass Change 3665855 by Marcus.Wassmer PR #4032: Fix comparison of SceneColorFormat (Contributed by Hybrid0) Change 3666707 by Guillaume.Abadie Replaces some custom material node to get View.BufferSizeAndInvSize with ViewProperty material expression in some engine material functions. Change 3667239 by Rolando.Caloca DR - Use hlslcc define for common issues Change 3668108 by Brian.Karis Disabled to Catmull-Rom filter. Too many flickering issues. Disabled antiflicker as well. Change 3668157 by Mark.Satterthwaite In the prototype Metal stdlib extension library add inline versions of the D3D SM6 "wave" intrinsics that can be expressed in terms of Metal 2.0 simd/quad group operations (macOS=simd, iOS=quad). These are unlikely to be as efficient as direct intrinsics but they should be functionally equivalent. These functions are not available *yet* as I still need to hook the ue4_stdlib into MetalShaderFormat & MetalRHI. The following HLSL 6 functions are implemented: WaveAllBitAnd WaveAllMax WaveAllMin WaveAllBitOr WaveAllBitXor WaveAllEqual WaveAllProduct WaveAllSum WaveAllTrue WaveAnyTrue WaveBallot WaveGetLaneCount WaveGetLaneIndex WaveOnce WavePrefixProduct WavePrefixSum WaveReadFirstLane WaveReadLaneAt The following can't be implemented in Metal as of Metal 2.0 AFAIK: WaveGetOrderedIndex WaveIsHelperLane GlobalOrderedCountIncrement QuadReadLaneAt QuadSwapX QuadSwapY Change 3668260 by Olaf.Piesche Cache particle collision shaders regardless of simple forward state Missed this checkin #jira FORT-51307 Change 3669243 by Daniel.Wright Bumped shader version to propagate FReflectionCaptureData rename Change 3669369 by Mark.Satterthwaite Duplicating Metal changes from //UE4/Release-4.18 to Dev-Rendering (//UE4/Dev-Rendering) 3662503 Collapse system-variables to one declaration in MetalUtils to avoid later shader compiler errors when they are specified more than once, which is seemingly permissable. Fixes volumetric fog. #jira UE-50293 3665210 - Invalidate all Metal shaders again to force a recompile to workaround another driver bug. - On macOS compact the clip-distance value into a single output to avoid bugs in the runtime pipeline compilers. - In SCW's direct-compile mode MetalShaderForamt should always dump the resulting Metal shader and print any errors we encounter to the log. - Change FGenerateMetalVisitor to take a FMetalCodeBackend& not a FMetalCodeBackend* to avoid a lot of pointless pointer validation. #jira UE-50244 3665429 Fix a crash on shutdown due to MetalRHI caching vertex-declarations beyond the lifetime of the RHI by moving the cache into the FMetalDynamicRHI itself. #jira UE-50356 3665613 Fix DistanceField rendering on Metal & the associated validation layer error when it is enabled - MetalRHI can't use the same approach as Vulkan without a bit more work. #jira UE-50364 3667584 Fix black flickering on some materials that use World Position Offset - the Metal sincos intrinsic comes into two flavours for single precision floats and we want the precise version not the fast version. The "cross" implementation needed a few more fma's too and this change has to invalidate Metal shaders again to take effect. #jira UE-50399 3667805 Changing sincos in Metal fragment shaders had undesirable side-effects - the compiler is now re-associating another floating point operation - so limit the use of precise::sincos to vertex-shaders for now. This fixes the WPO materials without causing any other obvious problems. #jira UE-50399 Change 3669912 by Mark.Satterthwaite Fix Metal compilation for PCSS shadows - the HLSL that is compiled uses both SampleCmp and Sample which GLSL disallows (shadowSampler types in GLSL only allow SampleCmp) but is perfectly valid in Metal where only the texture type declaration changes. Duplicate MetalBackend.cpp changes from Joe.Graf's: 3667781 Fixed an extra ) being emitted during HLSL->Metal translation Added depthcube_array support per Mark's instructions Change 3670308 by Mark.Satterthwaite Missing autorelease pool blocks in MetalTexture functions. Change 3670989 by Mark.Satterthwaite Stop trying to be so clever with Metal clip-distances: AMD have a bug in 10.13.0 that means we can only emit one clip-distance value, so simply emit the value with the lowest index (we have handily ordered them by importance!) and let the others become user-interpolators until this bug is resolved in a macOS SU (according to Max@AMD the fix is in, just not in time for 4.18). This means planar reflections will work, VR no-multi-view-fallback will work & layered rendering will work either individually or together - the difference being that on macOS *only* the VR no-multi-view-fallback & layered rendering paths may be slower when combined with the global clip plane. Hit & run fix to MetalCaptureManager and availability of tile-shader functions while I'm here. #jira UE-50518 Change 3671014 by Mark.Satterthwaite Correct handling of RowLinearPVRTC blits for iOS Metal desired for Ocean. Change 3671575 by Rolando.Caloca DR - Copy 3668036 Stop syncing CPU with GPU on Vulkan Change 3671637 by Rolando.Caloca DR - Copy 3670937 Fixes Vulkan editor outline Change 3672309 by Mark.Satterthwaite Submitted on behalf of Richard Wallis: Only disable V-Sync on Metal in macOS 10.13 when running in "true" fullscreen mode (where we switch display modes & forbid switching spaces or tabbing out) so that you won't see the rainbow artefact caused by being out-of-sync with WindowServer, only the tearing you'd expect when V-Sync is disabled. We'll chat with Apple about whether there is a way to avoid the rainbow artefact when switching spaces in Windowed Fullscreen with displaySync disabled. #jira UE-50134 Change 3672314 by Daniel.Wright User friendly message dialog for when a required key is missing from BaseLightmass.ini Change 3672315 by Daniel.Wright Assert on load when a uniform buffer struct goes missing, instead of a crash on save Change 3672476 by Chris.Bunner Removed duplicate material instance editor command binding that appeared in a task stream merge. Change 3672626 by Mark.Satterthwaite Move the ue4_stdlib.metal extensions to MetalRHI's Public header directory as it'll need to be available to both modules and that's easier to accomplish from here. Change 3672643 by Mark.Satterthwaite iOS compilation fixes. Change 3672728 by Daniel.Wright Fixed encoded HDR reflection captures Change 3672753 by Jian.Ru Fix texture swimming #jira UE-49369 Change 3672815 by Daniel.Wright Tooltip for build button explaining why it might be disabled Change 3673350 by Rolando.Caloca DR - vk - Do not reallocate memory every draw call Change 3673501 by Rolando.Caloca DR - vk - Remove more reallocations Change 3673505 by Rolando.Caloca DR - Remove global variable with semantic Change 3673514 by Rolando.Caloca DR - vk - compile fix Change 3675899 by Chris.Bunner Fixed support for editor-time transient parameter overrides. This happens when a compiled material's scalar or vector parameter is changed in value only, the active material resources should also update and be reverted when the material graph is closed. The code was incorrectly pulling base parameters from expressions instead of the actual uniform. Change 3676843 by Arne.Schober DR - UE-49473 - Fix Stateleak caused by custom drawer in the long for loop, where the depth stencil state might not be reset in a subsequent itteration of the loop. Change 3678269 by Daniel.Wright Fixed Encoded HDR reflection capture data getting the wrong Brightness applied when cooking Change 3678543 by Daniel.Wright MapBuildData now tosses the unneeded reflection capture format on load. Affects target platforms that require multiple formats at cook time. Change 3679602 by Jian.Ru Fix up mesh decal shader complexity view mode #jira UE-50272 Change 3679959 by Chris.Bunner Fixed logic on overriden vector parameter retrieval for material instances checking a function owned parameter. #jira UE-50712 Change 3679998 by Daniel.Wright Fixed crash when precomputing static visibility only [CL 3680175 by Marcus Wassmer in Main branch]
2017-10-04 13:36:51 -04:00
virtual TSharedRef<IMaterialEditor> CreateMaterialInstanceEditor(const EToolkitMode::Type Mode, const TSharedPtr< IToolkitHost >& InitToolkitHost, UMaterialFunctionInstance* MaterialFunction) override
{
TSharedRef<FMaterialInstanceEditor> NewMaterialInstanceEditor(new FMaterialInstanceEditor());
NewMaterialInstanceEditor->InitEditorForMaterialFunction(MaterialFunction);
OnMaterialInstanceEditorOpened().Broadcast(NewMaterialInstanceEditor);
NewMaterialInstanceEditor->InitMaterialInstanceEditor(Mode, InitToolkitHost, MaterialFunction);
return NewMaterialInstanceEditor;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3680113) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3441680 by Uriel.Doyon Added units to point light intensity, to allow the user to specify the value in candelas or lumens. New point light actors now configure the intensity in candelas by default. Replaced viewport exposure settings by an EV100 slider. Hidding the tone mapper in the show flag now still applies the exposure. Added a new AutoExposure method called EV100 which allows to specify : - MinEV100, MaxEV100 - Calibration Constnat - Exposure Compensation #jira UE-42783 Change 3454934 by Chris.Bunner Backing out changelists 3441680, 3454636 and 3454844 for the sake of integration stability. Change 3629223 by Rolando.Caloca DR - Rollback //UE4/Dev-Rendering/Engine/Source/Runtime/VulkanRHI to changelist 3627847 Change 3629708 by Rolando.Caloca DR - vk - Redo some changes from DevMobile 3601439 3604186 3606672 3617383 3617474 3617483 Change 3636145 by Chris.Bunner Linux compile fix. Change 3636198 by Chris.Bunner Include fix. Change 3636225 by Daniel.Wright Removed spammy draw event Change 3636397 by Daniel.Wright Visualize volumetric lightmaps uses 18% grey in lit mode Change 3636398 by Daniel.Wright Translucency lighting modes work with Volumetric Lightmaps * The old Indirect Lighting Cache always interpolated one sample per object, while Volumetric lightmaps operate at the frequency of the Translucency Lighting Mode (per-vertex or per-pixel) so the lighting accuracy is much higher. * The old ILC always applied the single lighting sample with a per-pixel normal, even in per-vertex lighting modes * Volumetric PerVertex NonDirectional (cheapest lit translucency) went from 74 instructions down to 42 * Volumetric Directional went from 104 up to 122 Change 3636604 by Chris.Bunner Added a material translation error on identically named/associated but differently valued parameters as this will cause one of them to be lost during parameter evaluation, the result being "random". Change 3637668 by Rolando.Caloca DR - hlslcc - Skip preprocessor when not required which reduces peak mem consumption by ~500 MB - Fix missing indexing on intrinsic return type Change 3638541 by Chris.Bunner Fixed editor materials - Skip hardcoded parameter names that we rely on being overridden when checking for non-matching duplicate parameters. Change 3638798 by Mark.Satterthwaite Rebuilt hlslcc for Mac for Rolando's 3637668 changes. Change 3638861 by Mark.Satterthwaite Missed making a log verbose in the Metal ring-buffer. Change 3639482 by Rolando.Caloca DR - vk - Minor fixes Change 3639909 by Michael.Lentine Add special case for struct needed to compile. Workaround issues in parser such that (x)[0] is replaced with x[0] and (x).a is replaced with x.a. Change 3639916 by Michael.Lentine Spelling fix. Change 3640053 by Mark.Satterthwaite Fix Desktop Forward rendering on Nvidia Metal rendering on macOS by modifying the shader and runtime to treat ForwardLocalLightBuffer data as uint rather than float and invert the use of as*() casts. Tthis is *necessary* to avoid a bug/limitation of Nvidia's current Metal shader compiler that flushes all denorm values to zero on load from any resource. AMD & iOS Metal only flush-to-zero when sampling from textures and that's what Apple regard as the expected behaviour. I have however asked them to standardise on the D3D behaviour of preserving denorms on all load, move (incl. min/max/as*()-casts) & store operations. This won't happen in the current or imminent OS/Xcode releases. Now only Intel Metal is broken and their problems run deeper. #jira UE-48881 Change 3640983 by Olaf.Piesche Cache the depth buffer collision shader for GPU particles even when simple forward is enabled, as that can be turned off at runtime. #jira UE-48799 Change 3641480 by Michael.Lentine Add min16float to FP16Math Change 3642442 by Mark.Satterthwaite Fix the native shader libraries again & undo the increase in cook time from changes to the way FShaderCodeLibrary was compiling & deduplicating the shaders. - Remvoe the single linear array for accumulated shader code: reallocating this is tremendously expensive and will double the time taken to iteratively cook large projects. - Uncompress the shader data for the native library system so that it actually works again. - Fix some errant change to the Metal compiler that was trying to wedge the fully compiled library into the single Metal library which is 100% bogus. #jira UE-49192 Change 3642919 by Chris.Bunner Reverted unintended changes to material static parameter set serialization. Bumped material version to force re-serialization. Fixed a few typos. Change 3642923 by Richard.Wallis Fix for "Pixel Inspector On" message not disappearing when closing pixel inspector window while on. Handle tab closed events to cancel the pixel inspector if window closed while running. #jira UE-46504 Change 3643296 by Michael.Lentine Convert all structures that aren't use globally to halfs. Change 3643381 by Ryan.Brucks New Plugin allowing Blueprint Texture and RT reads as well as MIC creation and modification. Change 3643929 by Ben.Salem Added better precision on thread values in Perf Monitor. Also added global thread values to go with per-world ones to help track down the most accurate numbers possible. #tests Ran locally, changes validated by benj Change 3644203 by Mark.Satterthwaite Refactor mtlpp a little bit to make the compiler do more of the work & update for all the latest publicly exposed APIs. Change 3644336 by Mark.Satterthwaite Ref-count the mtlpp Device object so that it can be the repository for IMP caching - now just have to go through the types created from a specific device and have them keep a reference.... Change 3644431 by Uriel.Doyon Added a intensity units property, for point lights and spot lights, that can be set to Candelas, Lumens or Unitless (legacy). The default units value for newly placed point lights and spot lights is configured in the project settings. Spot lights configured in lumens have their whole luminous energy redirected toward the cone. This means that changing the outer cone angle, changes the spot light brightness. New exposure menu that uses an EV100 slider. New post process settings "camera" tab regrouping : ShutterSpeed, ISO, Aperture and ExposureCompensation. Post process settings "auto exposure" tab renamed "exposure". The calibration constant for "Auto Exposure Basic" is now configurable in the advanced tab. The auto exposure method is renamed "Metering Mode" New pre-exposure feature that allows the engine to apply the previous frame exposure before writing to the scene color. This allows the engine to render the scene with similar range than the final color (after exposure), and avoid arithmetic overflow for low precision RT formats. The amount of exposure applied directly is called pre-exposure, and is compensated by a smaller post-exposure value. Change 3645098 by Marcus.Wassmer Don't add meshes twice when in simpleforward Change 3645551 by Daniel.Wright VolumetricScatteringIntensity is greyed out based on Mobility Change 3645707 by Chris.Bunner Skip empty parameters when identifying invalid duplicates during material translation. Change 3646225 by Uriel.Doyon Texture streaming support for particle sub-uv Change 3646323 by Rolando.Caloca DR - vk - Fix bad update texture 2/3d parameters Change 3646463 by Mark.Satterthwaite Metal shader files that can serve as extensions to the metal_stdlib rather than trying to wedge even more into the shader compiler. Might as well leverage Metal's C++'ness. Currently just a skeleton of a buffer type that would better emulate HLSL Buffer<>/RWBuffer<> objects. Change 3646727 by Marcus.Wassmer fix linux and nonunity compiles Change 3647777 by Rolando.Caloca DR - Mobile Vulkan optimization Change 3647822 by Lauren.Ridge Layers are now renameable (except Layer 0 is always "Background") in Material Layers Functions Change 3647918 by Chris.Bunner Static analysis fixes - Monolithic include, forward delcared enums, locally shadowed variable. Change 3648010 by Michael.Lentine Don't use min16float by default. Change 3648015 by Michael.Lentine Add special case fixes for min16float as well as half on console. Change 3648024 by Lauren.Ridge Moving MaterialLayersFunctions Layer naming to EditorOnly wrappers Change 3648127 by Lauren.Ridge Moving name getter functionality to FMaterialLayersFunctions Change 3648265 by Lauren.Ridge Fixing loctext key Change 3648293 by Rolando.Caloca DR - D3D12 fix Change 3648326 by Rolando.Caloca DR - vk - Added subrectangle support when updating Texture2D and Texture3D Change 3648522 by Rolando.Caloca DR - vk - Do not try to create a BufferView of a StructuredBuffer (no valid pixelformat) Change 3648612 by Rolando.Caloca DR - vk - Implement RHIMapStagingSurface Change 3648673 by Rolando.Caloca DR - vk - Reduce Vulkan pipeline cache disk size by filtering duplicated shader ucodes Change 3648913 by Arne.Schober DR - Performance optimization during HLod traversal. using vector load and avoiding array copy by passing it through reference instead through value. Change 3649443 by Daniel.Wright Exposed EmissiveBoost, since Lightmass supports Emissive areas on meshes Change 3650436 by Mark.Satterthwaite Implemented the necessary extensions for Metal shading language to move lots of complexity out of MetalBackend and into actual shader code to make life *vastly* simpler. - Full ue4::typed_buffer<T> wrapper type & associated ue4::buffer<>/ue4::buffer_atomic<> API - totally untested but should be functionally equivalent to HLSL Buffer<T>/RWBuffer<T>. - All the sensible casts I can think of are now defined in ue4_format - any additional ones can just be added. The enurm of formats needs to be exposed to MetalRHI so we upload the correct values, but this should be trivial. - Added a full series of wrappers around texturecube_array and depthcube_array to insulate code from whether it is backed by a real cube_array or a texture2d_array so we don't have to maintain complicated variants for new/old iOS devices. - Added implementations for a bunch of annoying HLSL & GLSL intrinsics that were being matched by name + reverse_bits which needs a custom implementation on old shader standards. Change 3650861 by Rolando.Caloca DR - vk - Fix warnings Change 3651116 by Rolando.Caloca DR - vk - Support for compressed saved PSO cache Change 3651321 by Rolando.Caloca DR - vk - Prep for load multiple PSO files Change 3651337 by Chris.Bunner Editor-only default material fallback (hardcoded material). #jira UE-48404 Change 3651839 by Rolando.Caloca DR - vk - Integrate minor pipeline changes Change 3652042 by Mark.Satterthwaite More work on mtlpp: - Selector class that caches IMP from SEL & Class. - Fixes to ns::Error. - Added test case application for testing denorm & float reinterpret-cast behaviour on Metal. Change 3652370 by Uriel.Doyon New "stat StreamingOverview" giving high level metrics of texture usage. New function ResetAverageRequiredTexturePoolSize() and GetAverageRequiredTexturePoolSize() giving the average ideal value for "r.streaming.poolsize". Change 3653658 by Chris.Bunner Material vertex interpolator for sprite and gpu sprite particles. Change 3653676 by Rolando.Caloca DR - vk - Integrate changes: Multiple PSO caches, shared ucode & compression, size reduction up to 80% Change 3653940 by Daniel.Wright Moved Volumetric Lightmap textures out of FScene and into FPrecomputedVolumetricLightmapData so their lifetime can match the MapBuildData. This allows tossing the source BulkData in game after RHI texture creation even though switching lighting scenarios does Release/InitializeRenderingResources multiple times. Change 3653956 by Daniel.Wright Fixed leak of BatchVisibilityId's Change 3653991 by Daniel.Wright Fixed missing include Change 3654013 by Daniel.Wright Refactored reflection capture composite SM4 handling, now forces fully rough even if !REFLECTION_COMPOSITE_USE_BLENDED_REFLECTION_CAPTURES (forward shading default) Change 3654018 by Daniel.Wright Remove unused SM4 reflection capture cubemap Change 3654118 by Rolando.Caloca DR - vk - Fix for queries; support for r.Vulkan.ProfileCmdBuffers to only time cmd buffers w/o gpu bubbles Change 3654339 by Chris.Bunner Temporarily disabed a material error whilst working with content teams to fix the introduced bugs. Change 3654534 by Daniel.Wright Editor is only supported on Feature Level 5 platforms. Added a message box and exit when SM4 is detected (d3d10, OpenGL 3). Change 3654751 by Rolando.Caloca DR - vk - Add readback for RGB10A2; minor optimization Change 3654940 by Rolando.Caloca DR - vk - Warning fix Change 3655104 by Mark.Satterthwaite Add a bunch of code to mtlpp to wrap the Xcode command-line Metal tools and use them to provide a convenient command-line tool that can compile two Metal shaders & diff the resulting AIR to make debugging easier. Obviously this only works on macOS. Change 3655173 by Jian.Ru Render dithered material as masked if a stencil prepass is not used #jira UE-50064, UE-49537 Change 3655479 by Daniel.Wright Fixed HandleLegacyMapBuildData not getting called on P maps loaded in the editor, which apparently was dropped in an integration error, causing all legacy maps (before the BuildData change) to lose their built lighting. Change 3656341 by Richard.Wallis Metal validation checks to test for drawing of the end of a vertex stream as seen in UE-48172 (Landscape Mesh Flickers Rapidly When Using Sculpting Landscape). This is not a fix for that but just a error log to catch the bad draw calls. #jira UE-48172 Change 3656844 by Rolando.Caloca DR - vk - Avoid microcode copy - Fix link error Change 3656894 by Rolando.Caloca DR - vk - Enable api dump without needing validation enabled Change 3656915 by Marcus.Wassmer Fix DX12 buffer lock for read Change 3657166 by Rolando.Caloca DR - vk - Proper fix for api dump layer Change 3657401 by Rolando.Caloca DR - vk - Linux compile fix Change 3657607 by Rolando.Caloca DR - vk - Prep for changes Change 3658722 by Chris.Bunner Refresh shared texture samplers when changing max ansiotropy level (e.g. scalability settings). #jira UE-30086 Change 3659499 by Daniel.Wright Moved bEnableAutoLODGeneration to LOD category so it's not the only one in HLOD category Change 3659644 by Mark.Satterthwaite D3D11 equivalent to 3656341 (only enabled when -d3ddebug is) to validate DrawIndexedPrimitives isn't trying to draw off the end of the instanced vertex streams which has inconsistent (and potentially undefined) behaviour across the various APIs we support. This fires when painting the landscape because the code attempts to render with a FirstInstance value that is as large as the number of elements in the instance-data streams which D3D11 drivers silently fails to render, but which Metal (& probably Vulkan too) will renders as garbage. This pattern is wrong & will be even more dangerous in a Draw*Indirect world. #jira UE-48172 Change 3659831 by Rolando.Caloca DR - vk - Copy 3657927 (fixes for Mali) Change 3661921 by Rolando.Caloca DR - vk - Minor log/info changes Change 3661985 by Mark.Satterthwaite Change the Metal sampler filter translation to better match D3D. Change 3662050 by Richard.Wallis Compile fix for Metal enums. Change 3662062 by Rolando.Caloca DR - Copy from 3662060 - OpenGL cloth fix Change 3662100 by Mark.Satterthwaite Use a temporary file and an atomic move to put the Metal PCH into the right place and reduce the number of false PCH compile failures on the build farm. Change 3662253 by Daniel.Wright Reflection Captures support Lighting Scenarios without recapturing * Reflection Captures are now part of the Map Build * Modifying a capture in editor will display a preview, but game can only display built captures (black for unbuilt with screen message) * Reflection Capture build data moved to the BuildData package * Building lighting / reflection captures no longer dirties ULevels * Sky lights which capture the scene now work correctly with Lighting Scenarios * Lighting Scenarios must now be loaded for each time they are made visible (no switching back and forth while keeping both loaded) Change 3663215 by Mark.Satterthwaite Initial, incomplete, tool added to mtlpp to help debug macOS Internal Compiler Errors - the mtlpp command-line tool can be fed the debug output from UE4 along with compiler settings to automatically compile shaders and construct the render pipeline that crashes the runtime compiler. So far only macOS render-pipeline-states are supported currently. Change 3663293 by Mark.Satterthwaite Added Metal device selection to the mtlpp command-line tool so I can quickly test compile on dual-GPU Macbook Pro's. Change 3663471 by Daniel.Wright Reflection Capture Builds no longer use UEditorLevelUtils::SetLevelVisibility to control level visibility, which streams out sublevels, modifying nav mesh Fixed status updates during Reflection Capture Build Captures overflowing GMaxNumReflectionCaptures now log a warning instead of pretending that they built successfully Change 3664056 by Rolando.Caloca DR - Linux compile fix Change 3664460 by Daniel.Wright Restored unused LoadTimesObjectVersion, packages saved with it will issue a warning on load Change 3664802 by Uriel.Doyon Fixed flash created by pre-exposure when the value changed dramatically between frames Change 3664890 by Daniel.Wright Created 'Stat MapBuildData' to track the memory size of lighting and reflection capture build outputs Change 3665163 by Rolando.Caloca DR - Copy from 3665156 - Gracefully fail when there are mem leaks exiting Vulkan Change 3665629 by Daniel.Wright Only Surface domain materials cast shadows in Lightmass Change 3665855 by Marcus.Wassmer PR #4032: Fix comparison of SceneColorFormat (Contributed by Hybrid0) Change 3666707 by Guillaume.Abadie Replaces some custom material node to get View.BufferSizeAndInvSize with ViewProperty material expression in some engine material functions. Change 3667239 by Rolando.Caloca DR - Use hlslcc define for common issues Change 3668108 by Brian.Karis Disabled to Catmull-Rom filter. Too many flickering issues. Disabled antiflicker as well. Change 3668157 by Mark.Satterthwaite In the prototype Metal stdlib extension library add inline versions of the D3D SM6 "wave" intrinsics that can be expressed in terms of Metal 2.0 simd/quad group operations (macOS=simd, iOS=quad). These are unlikely to be as efficient as direct intrinsics but they should be functionally equivalent. These functions are not available *yet* as I still need to hook the ue4_stdlib into MetalShaderFormat & MetalRHI. The following HLSL 6 functions are implemented: WaveAllBitAnd WaveAllMax WaveAllMin WaveAllBitOr WaveAllBitXor WaveAllEqual WaveAllProduct WaveAllSum WaveAllTrue WaveAnyTrue WaveBallot WaveGetLaneCount WaveGetLaneIndex WaveOnce WavePrefixProduct WavePrefixSum WaveReadFirstLane WaveReadLaneAt The following can't be implemented in Metal as of Metal 2.0 AFAIK: WaveGetOrderedIndex WaveIsHelperLane GlobalOrderedCountIncrement QuadReadLaneAt QuadSwapX QuadSwapY Change 3668260 by Olaf.Piesche Cache particle collision shaders regardless of simple forward state Missed this checkin #jira FORT-51307 Change 3669243 by Daniel.Wright Bumped shader version to propagate FReflectionCaptureData rename Change 3669369 by Mark.Satterthwaite Duplicating Metal changes from //UE4/Release-4.18 to Dev-Rendering (//UE4/Dev-Rendering) 3662503 Collapse system-variables to one declaration in MetalUtils to avoid later shader compiler errors when they are specified more than once, which is seemingly permissable. Fixes volumetric fog. #jira UE-50293 3665210 - Invalidate all Metal shaders again to force a recompile to workaround another driver bug. - On macOS compact the clip-distance value into a single output to avoid bugs in the runtime pipeline compilers. - In SCW's direct-compile mode MetalShaderForamt should always dump the resulting Metal shader and print any errors we encounter to the log. - Change FGenerateMetalVisitor to take a FMetalCodeBackend& not a FMetalCodeBackend* to avoid a lot of pointless pointer validation. #jira UE-50244 3665429 Fix a crash on shutdown due to MetalRHI caching vertex-declarations beyond the lifetime of the RHI by moving the cache into the FMetalDynamicRHI itself. #jira UE-50356 3665613 Fix DistanceField rendering on Metal & the associated validation layer error when it is enabled - MetalRHI can't use the same approach as Vulkan without a bit more work. #jira UE-50364 3667584 Fix black flickering on some materials that use World Position Offset - the Metal sincos intrinsic comes into two flavours for single precision floats and we want the precise version not the fast version. The "cross" implementation needed a few more fma's too and this change has to invalidate Metal shaders again to take effect. #jira UE-50399 3667805 Changing sincos in Metal fragment shaders had undesirable side-effects - the compiler is now re-associating another floating point operation - so limit the use of precise::sincos to vertex-shaders for now. This fixes the WPO materials without causing any other obvious problems. #jira UE-50399 Change 3669912 by Mark.Satterthwaite Fix Metal compilation for PCSS shadows - the HLSL that is compiled uses both SampleCmp and Sample which GLSL disallows (shadowSampler types in GLSL only allow SampleCmp) but is perfectly valid in Metal where only the texture type declaration changes. Duplicate MetalBackend.cpp changes from Joe.Graf's: 3667781 Fixed an extra ) being emitted during HLSL->Metal translation Added depthcube_array support per Mark's instructions Change 3670308 by Mark.Satterthwaite Missing autorelease pool blocks in MetalTexture functions. Change 3670989 by Mark.Satterthwaite Stop trying to be so clever with Metal clip-distances: AMD have a bug in 10.13.0 that means we can only emit one clip-distance value, so simply emit the value with the lowest index (we have handily ordered them by importance!) and let the others become user-interpolators until this bug is resolved in a macOS SU (according to Max@AMD the fix is in, just not in time for 4.18). This means planar reflections will work, VR no-multi-view-fallback will work & layered rendering will work either individually or together - the difference being that on macOS *only* the VR no-multi-view-fallback & layered rendering paths may be slower when combined with the global clip plane. Hit & run fix to MetalCaptureManager and availability of tile-shader functions while I'm here. #jira UE-50518 Change 3671014 by Mark.Satterthwaite Correct handling of RowLinearPVRTC blits for iOS Metal desired for Ocean. Change 3671575 by Rolando.Caloca DR - Copy 3668036 Stop syncing CPU with GPU on Vulkan Change 3671637 by Rolando.Caloca DR - Copy 3670937 Fixes Vulkan editor outline Change 3672309 by Mark.Satterthwaite Submitted on behalf of Richard Wallis: Only disable V-Sync on Metal in macOS 10.13 when running in "true" fullscreen mode (where we switch display modes & forbid switching spaces or tabbing out) so that you won't see the rainbow artefact caused by being out-of-sync with WindowServer, only the tearing you'd expect when V-Sync is disabled. We'll chat with Apple about whether there is a way to avoid the rainbow artefact when switching spaces in Windowed Fullscreen with displaySync disabled. #jira UE-50134 Change 3672314 by Daniel.Wright User friendly message dialog for when a required key is missing from BaseLightmass.ini Change 3672315 by Daniel.Wright Assert on load when a uniform buffer struct goes missing, instead of a crash on save Change 3672476 by Chris.Bunner Removed duplicate material instance editor command binding that appeared in a task stream merge. Change 3672626 by Mark.Satterthwaite Move the ue4_stdlib.metal extensions to MetalRHI's Public header directory as it'll need to be available to both modules and that's easier to accomplish from here. Change 3672643 by Mark.Satterthwaite iOS compilation fixes. Change 3672728 by Daniel.Wright Fixed encoded HDR reflection captures Change 3672753 by Jian.Ru Fix texture swimming #jira UE-49369 Change 3672815 by Daniel.Wright Tooltip for build button explaining why it might be disabled Change 3673350 by Rolando.Caloca DR - vk - Do not reallocate memory every draw call Change 3673501 by Rolando.Caloca DR - vk - Remove more reallocations Change 3673505 by Rolando.Caloca DR - Remove global variable with semantic Change 3673514 by Rolando.Caloca DR - vk - compile fix Change 3675899 by Chris.Bunner Fixed support for editor-time transient parameter overrides. This happens when a compiled material's scalar or vector parameter is changed in value only, the active material resources should also update and be reverted when the material graph is closed. The code was incorrectly pulling base parameters from expressions instead of the actual uniform. Change 3676843 by Arne.Schober DR - UE-49473 - Fix Stateleak caused by custom drawer in the long for loop, where the depth stencil state might not be reset in a subsequent itteration of the loop. Change 3678269 by Daniel.Wright Fixed Encoded HDR reflection capture data getting the wrong Brightness applied when cooking Change 3678543 by Daniel.Wright MapBuildData now tosses the unneeded reflection capture format on load. Affects target platforms that require multiple formats at cook time. Change 3679602 by Jian.Ru Fix up mesh decal shader complexity view mode #jira UE-50272 Change 3679959 by Chris.Bunner Fixed logic on overriden vector parameter retrieval for material instances checking a function owned parameter. #jira UE-50712 Change 3679998 by Daniel.Wright Fixed crash when precomputing static visibility only [CL 3680175 by Marcus Wassmer in Main branch]
2017-10-04 13:36:51 -04:00
virtual void GetVisibleMaterialParameters(const class UMaterial* Material, class UMaterialInstance* MaterialInstance, TArray<FMaterialParameterInfo>& VisibleExpressions) override
{
FMaterialEditorUtilities::GetVisibleMaterialParameters(Material, MaterialInstance, VisibleExpressions);
}
/** Gets the extensibility managers for outside entities to extend material editor's menus and toolbars */
virtual TSharedPtr<FExtensibilityManager> GetMenuExtensibilityManager() override { return MenuExtensibilityManager; }
virtual TSharedPtr<FExtensibilityManager> GetToolBarExtensibilityManager() override { return ToolBarExtensibilityManager; }
private:
TSharedPtr<FExtensibilityManager> MenuExtensibilityManager;
TSharedPtr<FExtensibilityManager> ToolBarExtensibilityManager;
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3944462) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3944462 by Jack.Porter Prevent TVOS packaging from PC from attempting to build an asset catalog #jira UE-56114 Change 3943602 by Leslie.Nivison Adding licenses for additional TPS #jira none Change 3943597 by Leslie.Nivison Adding Enterprise licenses; licenses for additional TPS. #jira none Change 3941962 by Leslie.Nivison Updating 4.19 credit list #jira none Change 3941865 by Mark.Satterthwaite Fix the incorrect landscape rendering and the incorrect render-to-texture from blueprint bugs with MetalRHI. - Track outstanding AsyncCopyBufferFromBufferToBuffer operations to identify attempts to modify overlapping ranges within the same prologue command-buffer. This doesn't work and requires that we break the current render-pass and issue on the current command-buffer. A log warning will be emitted when this occurs. - Don't attempt to alias private memory buffers the moment they are released from the RHI resource because that can lead to incorrect sharing of the memory when used by AsyncCopyBufferFromBufferToBuffer. #jira UE-56021 Change 3940993 by Marc.Audy Do not return the last column if the specified column does not exist. Allow display names to be used when looking for a property if the table is backed by a user defined struct. Do not crash if a property with the given name is not found. #jira UE-56017 Change 3939179 by Ben.Marsh Revert change to not poison memory in development configuration. Making a tradeoff that editor stability and consistency is more important than performance. #jira Change 3938566 by Aaron.McLeran #jira UE-55940 Fix for wavetable synth Missed a case. Change 3938533 by Dan.Oconnor Fix uninitialized variable exposed by recent MallocTBB change #jira UE-56013 Change 3938508 by Aaron.McLeran Fixing CIS error, init order issues. #jira UE-55940 Change 3938490 by Aaron.McLeran #jira UE-55940 Fix for wavetable synth Change 3938352 by josh.jensen Show an error message for Windows iOS builds when packaging/launching and icons are present but no remote Mac is specified #jira UE-55987 Change 3938345 by Peter.Sauerbrei fix to Icons not being built on Mac #jira UE-53492 Change 3938305 by Mark.Satterthwaite For whatever reason moving the buffer initialisation into the prologue command buffer doesn't work - this make absolutely no sense to me. I suspect that this is *merely* moving a render pass boundary around somewhere and forcing raster-state to be reapplied. #jira UE-56005 Change 3937968 by Ben.Marsh Disable the boot DDC if we're not in the editor. Fixes access violations when multiple SCW instances attempt to read/write to the same file. #jira UE-56003 Change 3937573 by Mitchell.Wilson Saving asset to resolve empty asset warning. #jira UE-56004 Change 3937561 by Max.Preussner ImgMedia: Added support for single-threaded platforms Copied from Dev-Sequencer CL# 3937516 #jira UE-55986 Change 3937305 by Mike.Beach Resaving google VR model content with UGS build to fix the empty file version error. #jira UE-55984 Change 3935595 by Arne.Schober Fix missing UV precission on BSP surfaces #jira UE-54014 Change 3935411 by josh.jensen Fixed Windows iOS remote Mac build issue where the user icons were considered remote Mac compilation targets coming solely from the Engine directory #jira UE-55899 Change 3934982 by Marc.Audy Fix shadow variable issue #jira UE-55957 Change 3934892 by Mark.Satterthwaite In MetalRHI treat BUF_Volatile buffers as Shared or Managed memory in all circumstances so that multiple updates within a render pass are respected even though this will hurt CPU performance. This fixes GPU particles on macOS. Also push initialisation upload into the async. command buffer to avoid it overwriting a later Lock/Unlock! Only read-back and copy-buffer operations should be on the 'current' command buffer as they need to be inline with all outstanding commands. #jira UE-55956 Change 3934421 by Arciel.Rekman Fix lockup/OOM when setting audio sources to 2 (UE-53968). #jira UE-53968 Change 3934156 by Peter.Sauerbrei fix for backgrounding problems on iOS and tvOS this will re-open UE-50979 as the fix for that was not correct and would have caused crashes when backgrounding during startup #jira UE4-55609 Change 3933547 by Aaron.McLeran #jira UE-55940 Fix for wavetable sample duration and seek Change 3933544 by Aaron.McLeran #jira UE-55939 Hiding channel format Submix channel format is an experimental feature and shouldn't be exposed to the submix editor for 4.19. Change 3933540 by Aaron.McLeran #jira UE-55718 Fix for playback progress. Change 3933280 by Ethan.Geller [Release-4.19] #jira UE-55810 Ensure AudioComponent is created before we start using it. #rb Aaron.McLeran Change 3933079 by Ryan.Vance #jira UE-55936 Fixed missing referenced uniform bindings on AR pass-through camera shaders. Change 3932319 by Ben.Zeigler #jira UE-55885 Fix corruption of packages when starting and then cancelling an async load of a package that already exists, or attempting to async load a script package It now keeps track of which packages were created by the async load system and will only throw those away on cancel Copy of CL #3932312 Change 3932287 by Matt.Kuhlenschmidt Updated substance texture #jira UE-55081 Change 3931729 by josh.jensen Ensure the tvOS and iOS Assets.car is always produced as part of a regular remote/local build #jira UE-55899 Change 3929723 by josh.jensen Removed packaging requirement on Windows of a remote Mac after setting an app icon to default #jira UE-53495 Change 3929722 by josh.jensen Fixed iOS asset catalog generation issues when swapping out/resetting to default app icons for both code- and BP-projects #jira UE-53492, UE-51879 #robomerge Change 3929350 by Mike.Erwin "Save As" support for #jira UE-55732 Change 3927829 by Steve.Robb Out-of-memory handler for MallocStomp. #jira UE-55550 Change 3926404 by Mike.Erwin #jira UE-55732 Change 3926394 by Dan.Oconnor Recompile bytecode dependencies when compiling an individual blueprint interface, this prevents crashes due to stale bytecode #jira UE-55813 Change 3926098 by Guillaume.Abadie Do not allow dynamic resolution to be enabled on unsupported platforms avoiding game breaker experience by security. #jira UE-55697 Change 3925927 by Guillaume.Abadie Enables TAA's AA_BORDER on all permutation for dynamic resolution. #jira UE-55353 Change 3925882 by Matt.Kuhlenschmidt Fix substance uri having one extra / Fix substance menu option showing up for github (incompatible with plugin) #jira UE-55766 Change 3925873 by Ben.Zeigler #jira UE-55783 Fix issue introduced in 4.18 where user structs did not handle converting AssetPtrs to SoftObjectPtrs properly Copy of CL #3925871 Change 3925163 by Guillaume.Abadie Fixes DFAO's temporal AA passes that was handling FViewInfo::ViewRect.Min wrongly. #jira UE-55788 Change 3924839 by Guillaume.Abadie Fixes a crash of LDR android preview with OS DPI scale != 0. #jira UE-43622 Change 3924542 by Cosmin.Sulea Merged fixes: UE-55299 - XGE Shader Compile Interferes with Remote Shader Compiling Causing Materials to Fail to Compile #7 UE-51086 - No clear editor activity during remote shader compiling #jira UE-55299 Change 3922398 by Mark.Satterthwaite Compile fix for 3922273. #jira UE-53993 Change 3922273 by Mark.Satterthwaite Fix validation error caused by the game updating its orientation before the drawable system catches up. We need to drop drawables that are incorrectly sized until we get one with the correct size. #jira UE-53993 Change 3921127 by Ethan.Geller [Release-4.19] #jira UE-55744: Add OnTick virtual to IAudioPluginListener, fix thread safety issue in Resonance Audio. #rb aaron.mcleran Change 3920632 by Lina.Halper Fix render thread crash when morphtarget is deleted or added #jira: UE-55521 Change 3920557 by Lauren.Ridge Fixing material editor resetting background to off #jira UE-55267 Change 3920519 by Phillip.Kavan Fix a regression in which elements would not be initialized when constructing the value assignment for UDS-typed container members in nativized Blueprint C++ code. Change summary: - Modified FEmitDefaultValueHelper::InnerGenerate() to remove UDS from the list of special cases that avoid calling InitializeStruct() as part of new element construction. Previously the conversion code assumed the compiler would perform value initialization of a nameless temporary, but that is no longer valid in 4.19, as UDS types have been changed to function more like native structs, and as such all converted UDS types will now emit an explicit default ctor which is now used to assign defaults that differ from the zero-initialized value. #jira UE-55628 Change 3920476 by Michael.Trepka Clean up Mac menu item cache at exit before SlateApplication is fully destroyed. #jira UE-55599 Change 3920336 by Ben.Marsh Ignore license warnings from PVS-Studio. #jira UE-55729 Change 3920134 by Jurre.deBaare Moving over: "HLOD: Building HLOD for P map with sublevels requires HLODSetupAsset when it should not #fix Ensure that we dynamically add HLOD level treeview items whenever they are required, rather than adding a static number of levels according to the worldsettings" #jira UE-55619 Change 3920126 by Max.Preussner MediaCompositing: Implemented media track for Sequencer Copied from Dev-Sequencer #jira UE-53974 Change 3920004 by Jack.Porter Disable Manual Vertex Fetch SRV creation when MVF is disabled. Made a single RHISupportsManualVertexFetch(EShaderPlatform) to control whether to use MVF. The Shader Platform (or alternatively, feature level) is the only thing that can decide whether or not to use MVF because we need to know when we compile the shaders if we're going to do MVF or not. Checking GSupportsResourceView at runtime is useless because the shaders can't change and so if GSupportsResourceView can ever be false for a platform, the shaders need to have been built without it. Creating SRVs without using them on mobile is not harmless because several devices don't support formats that are needed. #jira UE-54764 #jira UE-55622 Change 3919069 by Aaron.McLeran #jira UE-55718 Fix for playback progress. Change 3918942 by Graeme.Thornton Added "ProjectBuildMutatorFeature" modular feature, allowing plugins to register said feature and dictate whether the current project requires a code build. CryptoKeys plugin uses this feature to force a code build when encryption or signing is enabled. #jira UE-55686 Change 3918721 by Zak.Parrish Lighter version map for Gremlin + new Engine.ini - result is 60Hz #jira none Change 3918236 by Joe.Graf Added a bFlipTrackedRotation to give a better result when mirroring the rotation of a tracked face #jira: UE-55531 Change 3917970 by Martin.Wilson Expose curve data in remap assets to blueprints #jira UE-55585 Change 3917740 by Olaf.Piesche Properly checking for presence of buffer SRV capability via GSupportsResourceView so ES3.1 and Metal devices don't crash using GPU particles (and possibly in other circumstances); #jira UE-55591 Change 3917713 by Cody.Albert Build fixes for Match3 on iOS #jira UE-53742 Change 3917472 by zak.parrish added mouthPressLeft and MouthPressRight back into debug screen #jira none Change 3917244 by Michael.Dupuis #jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsections and material containing grass spawning node Change 3916775 by Ben.Marsh Add missing files for packaging IOS on Windows. #jira UE-53873 Change 3916293 by Joe.Graf Removed the redundant GetTransform() from UARFaceGeometry since GetLocalToWorldTransform() is exposed on a base class #jira: UE-55531 Change 3916011 by Joe.Graf Added an accessor to get the transform of the face mesh or a face mesh component #jira: UE-55531 Change 3915967 by Mark.Satterthwaite Place buffer updates into the prologue command-buffer in MetalRHI to avoid breaking the current command-encoder. This improves performance, though the semantics of Metal now differ subtly to other RHI implementations as the buffer updates happen prior to the SetRenderTargets call in the GPU's view of the world. #jira UE-54858 Change 3915751 by Nick.Atamas Merging CL 3913931 from //UE/Partner-Google-VR/... to //UE4/Release-4.19/... #jira UE-55639 Change 3915421 by Martin.Wilson Fix crash from live link message bus heartbeat manager #jira UE-55644 Change 3915326 by Dan.Oconnor Make compilation manager's skeleton class layout better match the old compilation path's skeleton class layout, fixes a crash when renaming blueprint functions #jira UE-55592 Change 3915250 by JeanLuc.Corenthin Can't add C++ code to Enterprise projects (when enterprise is installed) Root cause: When compiling a C++ project, Datasmith modules are included in the build process (with the wrong path) Fix: - Added two more Enterprise directories, Plugins and Intermediate, to the Enterprise directories to check against - Build the correct path for the Datasmith modules and plugins in FindOrCreateModuleByName. Added check to see if module is under one of the Enterprise directories. - Added modules to list of precompiled modeules in UEBuildTargets.AddPrecompiledModules if Engine and Enterprise are 'installed and the module is under Enterprise. #jira UEENT-1032 Change 3915240 by Ben.Marsh Reduce editor startup times by ~15s on Windows. Platform loading code recursively scans every module for dependent DLL modules to load first. Change to make it early-out as soon as it encounters a module which is already in memory (via a call to GetModuleHandle() from ResolveMissingLibraryImportsRecursive). Also use a TSet<> to store set of visited modules rather than an Array. Now spends <0.1s total in this function on editor startup. (Change looks larger than it is due to moving functions out of WindowsPlatformProcess.h to avoid introducing TSet dependency into this header). #jira UE-55642 Change 3914803 by Gil.Gribb UE4 - Removed memory track from the lock free list links. This is not safe and will sometimes assert in debug. #jira UE-49600 Change 3914616 by zak.parrish Adding Calibrate button #jira none Change 3914599 by Andrew.Rodham Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved but not modified - The following sequence of events exposes this issue: - Create a master sequence with a single shot that spawns a cube - Add this sequence to a level and set it to auto-play - Save everything and restart - Resave just the inner shot asset without opening it - PIE - The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template. #jira UE-55626 Change 3914479 by Krzysztof.Narkowicz Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows #jira UE-53875 Change 3914347 by Martin.Wilson Stop anim preview instance from ever running in parallel #Jira UE-55577 Change 3914179 by Benn.Gallagher Fixed clothing sections not displaying in LOD section list in skeletal mesh editor, due to no longer duplicating clothing sections in the model data. #jira UE-55528 Change 3914122 by Steven.Barnett Fix perf regression in BSP queries by changing suppression of PhysX mesh cleaning failure message. #jira UE-54081 Change 3913950 by zak.parrish Clamping my normalization math #jira none Change 3913926 by Zak.Parrish First pass at Gremlin Calibrate button. Also added shirt/backpack to boy so he's not a floating head. #jira none Change 3913668 by Matt.Kuhlenschmidt Adding missing substance styling info #jira UE-55081 Change 3913667 by Nick.Atamas Merging CL 3912976 from //UE4/Partner-Google-VR/... //UE4/Release-4.19/... Upgrading to support ARCore 1.0 runtime. #jira UE-55602 Change 3913645 by Aaron.McLeran #jira UE-55618 fix for mono audio devices Change 3913509 by Cody.Albert Removing PhsX build exclusion from Match3 #jira UE-53742 Change 3913380 by Dan.Oconnor Preload Sequence Bindings node at proper time #jira UE-55412 Change 3913300 by Mitchell.Wilson Updating iOS default startup movie to H.264, 1280x720, 30 fps. #jira UE-55382 Change 3913291 by Cody.Albert More iOS build fixes for Match3 #jira UE-53742 Change 3913169 by Cody.Albert Fixed iOS build issues for UnrealMatch3 #jira UE-53742 Change 3913131 by Krzysztof.Narkowicz Fixed remaining quad overdraw viewmode contents on screen after switching to certain other viewmodes (e.g. light overlap or complexity) #jira UE-54580 Change 3912851 by Lina.Halper Fixed issue with pose asset blending additively multiple poses suming up to 1 weight. #jira: UE-55603 Change 3912629 by Guillaume.Abadie Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera. #jira UE-55353 Change 3912170 by Martin.Wilson Add logging for UE-55511 (NaN crash) #jira UE-55511 Change 3912161 by Phillip.Kavan Fix editor-only default subobjects inherited from a native C++ parent class not being handled correctly during nativized Blueprint class ctor generation. Change summary: - Modified FEmitDefaultValueHelper::HandleSpecialTypes() to skip editor-only checks for instanced default subobjects. These will have already been created by a native parent class. - Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert before creating a "dummy" component in place of an editor-only instance if we're not supposed to be creating it. #jira UE-55474 Change 3912100 by Luke.Thatcher [RELEASE] [^] Merging (as edit) fix for building pak patches (CL 3911754) from //UE4/Dev-Core to //UE4/Release-4.19 #jira UE-55340 Change 3912072 by Mike.Beach Art cleanup pass on AR template icon. #jira UE-55587 Change 3912057 by Michael.Trepka Additional widget path validity check in FSlateUser::NotifyWindowDestroyed() #jira UE-55580 Change 3911592 by Jurre.deBaare Crash on merge actor when Use specific LOD Level #fix make sure we use the correct array to determine the number of components being merged #jira UE-55508 Change 3911466 by Cosmin.Sulea Mega change list for the following related issues: UEMOB-417 - Support Xcode automagical code signing UE-49829 - Remote build fails to use / sign distribution provisions coming from PC UE-39501 - Packaging for tvOS in Distribution fails to find valid provision UE-55334 - XCode managed provisions don╞t operate gracefully with manual provisions UE-55330 - Automatic signing doesn't work with tvOS UE-10969 - Remote build fails if there is no development provision provided #jira UEMOB-417 Change 3911454 by Luke.Thatcher [RELEASE] [!] Fix rendering thread memory leak in FLandscapeComponentSceneProxy::InitViewCustomData - FViewCustomDataLOD is allocated on a memstack, but contains a TArray, so is not trivially destructible. - The SubSections array is leaked when the memstack is popped. - Fix replaces the TArray with a TStaticArray of max size MAX_SUBSECTION_COUNT (which is 4). (Merging as edit CL 3911422 from //Fortnite/Release-3.1/... to //UE4/Release-4.19/...) #jira UE-54835 Change 3911370 by Dragan.Jerosimovic changed browOuterLeft -> browOuterUpLeft, browOuterRight->browOuterUpRight updated KiteBoyHead_JointsAndBlends.fbx #jira none Change 3910545 by Dan.Oconnor PR #4512: Fix FNetNameMapping::GetUniqueName regression (Contributed by dfb) #jira UE-55513 Change 3910449 by Michael.Trepka Fix for crash on exit on Mac when closing the root editor window with Cmd+W #jira UE-54973 Change 3909601 by Patrick.Boutot Expose to Blueprint GetProjectDirectory functions. #jira UE-55548, UEENT-999 Change 3909543 by Patrick.Boutot Rename ECollisionResponse to CollisionResponseType in script to prevent collision with FCollisionResponse. Python's help function now output the Python type instead of the cpp type. Do not export hidden enum entry from Python. #jira UE-55545, UEENT-961 Change 3909289 by Zak.Parrish Adding shirt/chest to faceAR sample #jira none Change 3908808 by Dragan.Jerosimovic added combination shapes network #jira none Change 3908788 by Mitchell.Wilson Updaing Match3Camera to resolve clipping issue on iPhone X #jira UE-54723 Change 3908374 by Jack.Porter Fix viewport offset problem for preview PIE window #jira UE-52583 Change 3907108 by Shane.Caudle #JIRA Added DefaultDeviceProfiles.ini to set the [IOS DeviceProfile] +CVars=r.ShadowQuality=4 Change 3907105 by Lauren.Ridge Fix for thumbnails not resetting when layers/blends reset and for them being incorrectly scaled when null #jira UETOOL-1303 Change 3907011 by Chris.Phillips UE-52667 Unable to package an Android DLC Using "Android APK" and "Android DLC" profiles in Project Launcher. #jira UE-52667 Change 3906792 by Lauren.Ridge When constructing the material editor viewport, use the direct method to set the environment visibility. #jira UE-55267 Change 3906734 by Chris.Babcock Fix issue with vertex fetch disable #jira UE-55475 Change 3906721 by Rolando.Caloca UE4.19 - Check if the results file from SCW is corrupt #jira UE-53124 Change 3906648 by Chris.Phillips UE-53184 Assertion when running mobile PIE in iPhone 5S mode. Updated the iPhone5s.json Metal settings. #jira UE-53184 Change 3906474 by David.Hibbitts Added default constructor for FLiveLinkWorldTime. #jira UEENT-879 #rb none Change 3906467 by Lauren.Ridge Swapping sibling materials now correctly swaps the overridden parameters out #jira nojira demobug Change 3906156 by Michael.Trepka Reverting CL 3728924 as it's causing problems with modal windows. A different, much more involved fix for UE-51711 will be needed. #jira UE-52492 Change 3906144 by Michael.Dupuis #jira UE-54547: Added guard to be sure that material is valid Change 3905882 by Matt.Kuhlenschmidt Enable substance buttons again #jira UE-55081 Change 3905513 by Sorin.Gradinaru UE-55394 iOS crash exiting app during startup movie: SPRINGBOARD, process-exit watchdog transgression #jira UE-55394 #jira UE-52328 #iOS #4.19 This is a particular case of UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression Found several issues on iOS if the game is forced closed when the startup movie is playing and "Wait for movies to complete" is enabled in Project Settings - the game thread is waiting for the movie to complete on game shutdown - more that 5 sec - crash on FDefaultGameMoviePlayer::Shutdown if the above is fixed - HTTP module no longer has time to wait for the requests to complete. Change 3905506 by Michael.Dupuis Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0 #jira 0 Change 3905498 by Lina.Halper Fix multiple pose asset issue - fallout from CL 3903509 - as for fullbody, went back to old mathod because in the fullbody, we want shortest path most of times and you don't blend more than 1 weight, so this is likely fine - as for additive, change to use blend from identity. #jira: UE-55439, UE-55448, UE-55250 Change 3905325 by Sorin.Gradinaru UE-54764 UnrealMatch3 spams Kindle device log with "Unsupported EPixelFormat" #jira UE-54764 #4.19 Also reproduced on Samsung Galaxy S5 Neo (SM-G903F, GPU Mali-T720). Check GMaxRHIFeatureLevel > ERHIFeatureLevel::ES3_1 (not mobile) before creating RSV params used with SupportsManualVertexFetch: (Positions, Tangents, TextureCoordinates, Color buffers) Change 3905307 by Jack.Porter Removed iPhone5 PIE json file as it's not a supported device #jira UE-53184 Change 3905132 by Shane.Caudle #JIRA Pushed it a little more out of the yellow. Change 3905117 by Shane.Caudle #JIRA Got SSS working and made some tweaks. Change 3904936 by Max.Chen Fix editor only #jira UE-55459 Change 3904269 by Chris.Babcock Disable manual vertex fetch on mobile #jira UE-55389 #ue4 #android #ios Change 3904186 by Lina.Halper Pose asset crash when skeleton not existing during serialization #jira: UE-55422 Change 3904063 by Max.Chen Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene spawn register. Copy from Dev-Sequencer #jira UE-55314 Change 3904060 by Lauren.Ridge Fix for saving a child out of a layer stack capturing the wrong parameters #jira UETOOL-1280 Change 3904050 by Luke.Thatcher [CONSOLE] [^] Added RHI Command List Enqueue Lambda method (merging as edit CL 3879722 from //Fortnite/Main to //UE4/Release-4.19) - Can be used to enqueue arbitrary tasks on the RHI thread from the render thread (similar to how EURC works for GT -> RT tasks), without having to write lots of bolierplate FRHICommand functor classes. - The first overload of EnqueueLambda method will check Bypass() to determine if it should run the lambda immediately or defer to the RHI thread. - This can be overriden via the 2nd overload if you need to check additional things such as IsRunningRHIInSeparateThread. - The function returns true if the lambda was enqueued and deferred to the RHI thread, otherwise false. This can be used to optionally add RHIThreadFences for unlock commands etc. #jira UE-55437 Change 3904004 by Lauren.Ridge Fix for material layer output nodes being able to be placed in other graphs #jira UE-54867 Change 3903931 by Aaron.McLeran #jira UE-55435 Crash in google resonance when toggling visualization fix for issue described here -- https://github.com/resonance-audio/resonance-audio-unreal-sdk/issues/1 Change 3903722 by David.Hill The ProxyLOD plugin is experimental: don't load it by default. #jira: ue-55402 Change 3903583 by Ben.Marsh Include .version and .modules files in manifest. Should fix missing version information in precompiled binaries. #jira Change 3903529 by Richard.Hinckley #jira UEDOC-7180 4.19 API Documentation manual update. Change 3903509 by Lina.Halper Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/ #DUPE MERGE: Fix issue with pose blending with shortest path - causing additive to blend linearly between pose if the rotation is same direction. #jira: UE-55250 Change 3903501 by Michael.Dupuis #jira UE-55122: Fixed bad neighbors updating for mobile Change 3903387 by Will.Fissler ; r.XGEShaderCompile is now enabled by default in source. Uncomment to disable XGE shader compilation. ;r.XGEShaderCompile = 0 #jira UE-55286 Change 3903251 by Sungjin.Hong #JIRA UE-55349 #loc added KO locallization for VR, Handheld AR templates Change 3903219 by Adrian.Siminciuc https://jira.it.epicgames.net/browse/UE-54738 removed redundant iOS warning when IOnlineIdentity::Login is called by FOnlineExternalUIIOS::ShowLoginUI #jira UE-54738 #iOS Change 3903130 by Cody.Albert Updated build configuration to resolve iOS build error on UnrealMatch3 #jira UE-53742 Change 3903056 by Shane.Caudle #JIRA Latest tweaks to lighitng and rendering for boy. Change 3903032 by Cody.Albert Added missing include that was preventing iOS builds from succeeding on TopDown template #jira UE-54341 Change 3902669 by Lauren.Ridge Fix for thumbnail crash after saving material instances that contain layers #jira crash Change 3902581 by Mitchell.Wilson Updating Samples and Template Min iOS Version to iOS 9. #jira UE-55148 Change 3902448 by Lauren.Ridge Fix for crash due to unparented material instance #jira crash Change 3902206 by Chris.Phillips UE-52612 External textures only work in pixel shaders. Sampling external textures are now only limited to pixel shaders when the shader model is < SM4. #jira UE-52612 Change 3902120 by Peter.Sauerbrei bvringing over the fix for backgrounding crash on iPhone X from Fortnite #jira UE-54883 Change 3902097 by Lina.Halper Merging using //UE4/Dev-AnimPhys/->//UE4/Release-4.19/ #DUPE MERGE: CL 3901939 #jira: UE-55401 Change 3902082 by Mike.Beach Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3901963 by Peter.Sauerbrei bring over the fix from Fortnite for Remote Shader Compilation not respecting settings in the passed in shader #jira UE-52797 Change 3901959 by Ethan.Geller [Release-4.19] #jira UE-55225: Stop RtAudio stream on StopRecording in sequence recorder. #rb Aaron.McLaren Change 3901482 by Lauren.Ridge Fix for crash on opening materials due to array out of bounds #jira crash Change 3901181 by Michael.Dupuis #jira UE-55313: To enable tessellation we MUST have 2 materials in the list Change 3900935 by Nick.Bullard Updating Default_Startup.mp4 with more recent UE branding. This still requires another update for final version with audio #jira UE-55382 Change 3900660 by Aaron.McLeran #jira UE-55381 crash in sound submix Bringing fix from FN to 4.19 (CL 3890630) Change 3900643 by Aaron.McLeran #jira UE-55380 fixing synth envelopes Change 3900617 by Aaron.McLeran #jira UE-55151 Fixing crash w/ mic component Change 3900544 by tim.gautier QAGame: Submitting asset for AsNumber fix submitted with UE-10310 #jira UE-29618 Change 3900430 by Ryan.Brucks KismetRenderingLibrary: Applied a fix from FN to make it possible to create textures from BP created RTs. Without the fix the assets would be created but invisible to the user due to missing RF_Public and RF_Standalone. #JIRA none Change 3900399 by Lauren.Ridge Fixing global parameters not working #jira UE-55242 Change 3900297 by Ben.Marsh Speculative fix for hot reload causing version files to be updated with a locally made installed build. #jira UE-55072 Change 3900116 by Chris.Bunner Removing outdated tests and test assets. #jira UETOOL-1298 Change 3900042 by Chris.Bunner Deleted SharedInputCollection and associated material graph nodes. #jira UETOOL-1298 Change 3899887 by Lauren.Ridge Fix for background checkbox stomping profile info for material editor. Note that you may have to delete Saved/Config/Windows/Editor.ini to get this to work. #jira UE-55267 Change 3899824 by Chris.Phillips UE-52813 Editor's mobile preview doesn't serialize the landscape's cooked heightmap data. Now only regenerating landscape pixel data when needed when using Mobile Preview Rendering Levels. #jira UE-52813 Change 3899775 by Lauren.Ridge Fix for crash on opening material layer material #jira crash Change 3899673 by Jamie.Dale Fixed Functions sometimes being exposed to Python as if they were Structs #jira none Change 3899487 by Chris.Bunner Duplicate [CL 3852020, 3896571] - Disabling non-performant code only required by experimental material layers feature. Users can opt-in per-project through experimental renderer settings, replacing the previous editor experimental flag. #jira UETOOL-1298 Change 3899156 by Phillip.Kavan Include address of object reference in persistent frame debug info. #jira UE-51952 Change 3899146 by Rolando.Caloca UE4.19 - hlslcc - Workaround for intrinsics with two output arguments #jira UE-52477 Change 3899060 by Bart.Hawthorne Add a null check for the game mode pointer in UWorld::SpawnPlayActor #jira UE-54461 Change 3899015 by Krzysztof.Narkowicz Fixed initialization of instancing random vertex stream. #jira UE-53605 Change 3899008 by Michael.Dupuis Fix issue with landscape mobile vertex factory accessing unbound LodTessellationParams when r.ShaderDevelopmentMode=1 #jira 0 Change 3898994 by Phillip.Kavan More verbose debug logging if an invalid object reference is detected in the BP ubergraph frame during garbage collection. #jira UE-51952 Change 3898962 by Guillaume.Abadie Fixes wrong parameters about whether GPU timing may have CPU generated bubbles to the dynamic resolution heuristic. #jira UE-55352 Change 3898826 by Sorin.Gradinaru UE-54784 StrategyGame crashes entering game on KindleFire 7 - Assertion failed: ViewSize.GetMin #4.19 #Android #jira UE-54784 Wrong code to make an integer even + operator precedence Change 3898822 by Sorin.Gradinaru UE-52328 iOS reporting crash on application exit: SPRINGBOARD, process-exit watchdog transgression FORT-70783 FHttpManager::Flush is immediately canceling all HTTP requests #jira UE-52328 #jira FORT-70783 #iOS #PC #4.19 UE-52328 reopened because of FORT-70783 iOS only: Delay Request->CancelRequest() on Http module shutdown - wait for 2 sec on FHttpManager::Flush to allow pending requests to be sent to the server. Change 3898705 by Max.Chen Sequencer: Skip if the binding id's sequence can't be found. #jira UE-55337 Change 3898108 by Michael.Dupuis #jira UE-54547: Remove the FORCEINLINE so we get a proper callstack of what's happening Change 3898076 by Max.Chen Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated. #jira UE-55328 Change 3897897 by Matt.Kuhlenschmidt Disable substance buttons for now #jira UE-55081 Change 3897742 by Aaron.McLeran Merging fix for UE-55223 to 4.19 #jira UE-55223 Change 3897538 by Michael.Dupuis #jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material Change 3897406 by Phillip.Kavan Back out local debug logs. #jira UE-51952 Change 3897400 by Phillip.Kavan Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage. - Mirrored from //UE4/Dev-Core (3871863). #jira UE-51952 Change 3897391 by Max.Chen Sequencer: Don't update current time to be within the view range when stepping into a sequence. #jira UE-55322 Change 3897274 by Krzysztof.Narkowicz Fixed issues with loading shaders from DDC - hardcoded CustomAttributes initialization instead of filling them inside UObject costructors in order to properly initialize CustomAttributes before DDC key was created. Added an assert that CustomAttributes are initialized before the AttributeDDCString, so we won't run into this issue again in the future. #jira UE-54683 Change 3897148 by Adrian.Siminciuc https://jira.it.epicgames.net/browse/UE-55147 #4.19 #iOS #jira UE-55147 Change 3897138 by Max.Chen Sequencer: Fix crash when an actor factory is not found. Copy from Dev-Sequencer #jira UE-55309 Change 3897045 by Jack.Porter Fix for crash in ALandscapeProxy::UpdateGrass #jira UE-54362 Change 3897036 by Jack.Porter Fix InstancedStaticMesh crash with invalid lightmap coordinates #jira UE-54423 Change 3896801 by Dmitriy.Dyomin Fixed: Planar reflections does not handle origin rebasing #jira UE-52351 Change 3896743 by Dmitriy.Dyomin Discard CPU copy of vertex/index buffers in OpenGL RHI #jira UE-52133 Change 3896619 by Guillaume.Abadie Cherry-pick 3896598: Fixes after TAAU post process material that had wrong default buffer UV. #jira UE-55317 Change 3895718 by Max.Chen Sequencer: Null checks to prevent crash when saving the default state of a spawnable #jira UE-55304 Change 3895426 by Rolando.Caloca UE4.19 - Add an increased timeout for SCW to avoid OOM situations #jira UE-55306 Change 3895245 by tim.gautier QAGame: Submitting updated test assets. Broke ML_Base out into individual components #jira UE-29618 Change 3895194 by Marc.Audy Prevent crash due to a null entry in the linked to graph of the destination pin #jira UE-54606 Change 3894913 by Arne.Schober REL - Fix crash in Speedtree wind where Renderdata is unavailable #jira UE-54544 Change 3894625 by Arne.Schober REL - Fix assert not in RenderingThread from Triangle Renderer. #jira UE-55247 Change 3894464 by Martin.Wilson Extra debugging info for UE-54705 plus remove check so it is no longer fatal #jira UE-54705 Change 3894450 by Martin.Wilson Remove pinnable ness of retarget asset. Paves the way for exposing retarget asset properties on the node #jira none Change 3893948 by Jostin.Bilyeu Adding default player start location to help with launch on testing within level TM-Materials_POM #jira UE-55063 Change 3893495 by Robert.Manuszewski Fixing a crash when running DDC commandlet #jira UE-54646 Change 3893451 by Jurre.deBaare Altered fix for actor merging with negative scaling to get correct normals #jira UE-54996 #misc updated automated test to include this test-case Change 3892913 by Ethan.Geller [Release-4.19] #jira UE-55151 Fix for Mic Component crashing on re-init. #rb aaron.mcleran Change 3892871 by Ryan.Vance Multi-view requires the day dream compositor. #jira UE-55253 Change 3892785 by Arciel.Rekman Linux: fix inability to create a C++ project (UE-55222). - NullSourceCodeAccessor will unconditionally allow C++ project creation in source builds. - Installed build will check for more compilers in commonly found locations. #jira UE-55222 Change 3892687 by Jostin.Bilyeu Checking in replacement Built Data for map TM-Materials_POM #jira UE-55063 Change 3892674 by Jostin.Bilyeu Adding an invisible plane to TM-Materials_POM to help testing on mobile devices #jira UE-55063 Change 3892622 by Aaron.McLeran #jira none Fixing scope lock in phonon probe volume Change 3892511 by Matt.Kuhlenschmidt Fix zero engine version warning #jira UE-55081 Change 3892211 by Yuriy.ODonnell Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64. NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime. The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules. The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput. Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668). #jira UE-53065 Change 3891732 by Brian.Zaugg Re-adding iPhoneX launch images with correct case. #JIRA UE-53541 Change 3891727 by Arne.Schober REL - Do not recreate one Frame Resource for dynamic draws #jira UE-55063 Change 3891716 by Ben.Marsh Fix buffer overrun when generating callstack. #jira Change 3891697 by Brian.Zaugg Deleting iPhoneX launch images that have incorrect case. #jira UE-53541 Change 3891678 by Brian.Zaugg IPP binaries for iPhoneX support. #jira UE-53541 Change 3891525 by Lauren.Ridge Thumbnails now update correctly w/parameters #jira UETOOL-1333 Change 3891520 by Lauren.Ridge Fixing SA error in material editor #jira UE-55206 Change 3891495 by Jurre.deBaare Normal are different after Merge Actor on scaled objects #fix Make sure we do not apply scale when transform Normals/Tangents #jira UE-54996 Change 3891352 by Guillaume.Abadie Fixes ensure when visualizing HDR with TAAU. #jira UE-55019 Change 3891323 by Matt.Kuhlenschmidt Added substance buttons to content browser and material editor #jira UE-55081 Change 3891033 by David.Hibbitts #JIRA UE-55135 Moved Message Bus Source heartbeats to their own thread using a new FHeartbeatManager singleton. This prevents sources from incorrectly being removed during Slate UI operations. Change 3890642 by Arne.Schober REL - Better fix for Paper2d which honors batching #jira UE-55063 Change 3890593 by Arne.Schober REL - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead. #jira UE-55063 Change 3890502 by Mike.Erwin Fix reported VRAM size on Metal We were getting correct value in MB from system but overflowing uint32 arithmetic when converting to bytes. This led 4GB and 8GB configs to report 0 total VRAM, 0 dedicated tex mem, and GTexturePoolSize = 0. Noticed the problem on my 6GB FirePro, which reported 2GB and set GTexturePoolSize to 70% of that. Also fixed log of texture pool size to show MB. Other platforms' RHIs already report this in MB. #jira none Change 3890404 by Jostin.Bilyeu Updating Demo Display names to remove redundant spaces #jira UE-29618 Change 3890401 by Dan.Oconnor Fix for property table performance regression #jira UE-54984 Change 3890194 by Dan.Oconnor Make sure a CDO's subobjects are preloaded when running in -game #jira UE-54242 Change 3890182 by Krzysztof.Narkowicz Moving CL3867594 from Dev-Rendering to fix missing shaders in cooked Binary Editor DCC. USE_EDITOR_ONLY_DEFAULT_MATERIAL_FALLBACK generated default material shaders had no cooking code path. #jira UE-54683 Change 3890140 by Rob.Cannaday Merging cacert.pem from //UE4/Dev-Online to //UE4/Release-4.19 Includes latest cacert.pem from https://curl.haxx.se/docs/caextract.html as of January 17, 2018 #jira none Change 3889850 by Shaun.Kime Now initializing Niagara scripts and emitters even if the config file isn't ready yet. #jira UE-54168 #jira UE-54169 #tests can create a blank emitter and all script sub-types Change 3889833 by Michael.Trepka Disabled Clang's unused-lambda-capture warning added in Xcode 9.3 #jira none Change 3889696 by Patrick.Boutot Allow rename from AssetTool when there is no source control enabled. Fix crash when you rename an asset without an enabled source control. #jira UEENT-803 Change 3889470 by Mike.Beach Switching the source-name to legacy hand enum lookup functions to use a static table instead of finding a UEnum object and iterating over reflection data (to prevent a GC lockup with the UObject query). #jira UE-55153 Change 3889319 by Matt.Kuhlenschmidt Disable hardware survey on build machines. They run windows server and lack the necessary win32 api functionality to execute it properly #jira UE-55166 Change 3889087 by Jostin.Bilyeu Minor adjustments TM-SceneTexture for better testing clarity. Minor adjustments to TM-MipLevels for test map clean up #jira UE-29618 Change 3889073 by Sorin.Gradinaru UE-55117 Android virtual keyboard can have text input hidden by software buttons #jira UE-55117 #Android #4.19 Adjusted x-coord and width for the native EditText Change 3888841 by Jurre.deBaare Make FSkeletalMeshRenderData::GetMaxBonesPerSection an ENGINE_API exported function #jira none Change 3888837 by Guillaume.Abadie Fixes a crash in dynamic resolution when doing UE4Editor -server #jira UE-55158 Change 3888831 by Dragan.Jerosimovic added fbx files #jira none Change 3888340 by Ethan.Geller [Release-4.19] #jira UE-54787 edit settings for Strategy Game to prevent stuttering in AudioMixer on low performance Android Devices #rb Aaron.McLeran #fyi Aaron.McLeran #lockdown Cristina.Riveron Change 3888133 by Michael.Karambelas QAGame: Adding a BP Actor to test the Mic component feature that AaronM implemented with UE-51471. #jira UE-29618 Change 3887957 by Krzysztof.Narkowicz "Fixed" Vulkan instancing in by doing Metal style set instance offset to 0 hack #jira UE-54367 Change 3887912 by Jostin.Bilyeu Adding content to TM-SceneTexture to verify Screen Positioning as well as Scene Color and Depth. Adding a new map (TM-MIPLevels) for testing custom mip levels #jira UE-29618 Change 3887571 by Zak.Parrish Adding FaceAR content and cleanup #jira none Change 3887458 by Dan.Oconnor Fix 'Step Out' functionality for macro and collapsed graphs #jira UE-55000, UE-55002, UE-55022 Change 3886883 by zachary.wilson Add testing content to QAGame: Texture and material for testing mip levels. Postprocess material for testing scene buffer sampling. #jira UE-29618 Change 3886848 by Max.Preussner Engine: Workaround for uninitialized external textures causing white flashes in media playback Copied from Fortnite-Main and Dev-Sequencer #jira UE-53357 Change 3886720 by Matt.Kuhlenschmidt Guard against mac menus updating during slow tasks. #jira UE-55068 Change 3886657 by Guillaume.Abadie Cherry-pick 3886626: Cherry-pick 3886560: Fixes strong aliasing on TAAU's fast shader permutation. This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation. #jira FORT-69961 Change 3886653 by Matt.Kuhlenschmidt Perforce Plugin: Removed all calls to methods that would update the P4PASSWD environment variable. Perforce stores this as plain text so it is not safe and we do not want the editor to be responsible for this being set. All users should be using ticket based p4 servers for the best security but if they are unable to then they can call p4 passwd on their own to set a slightly better hashed password directly. They may also log in each time to the editor which prevents any password from being stored #jira UE-55111 Change 3886621 by Benn.Gallagher Fixed crash closing clothing tab if workflow centric application puts the tab spawners in a bad state due to incorrect handling of tab context menus. #JIRA UE-55067 Change 3886552 by Thomas.Sarkanen Fixed crash loading an anim instance with a re-instanced class Unable to repro, but in editor we dont need the optimization that this provides. Now we always re-initialize functions and properties in case the class has changed out from under us. #jira UE-55065 - [CrashReport] UE4Editor_Engine!FExposedValueHandler::Initialize() [animnodebase.cpp:521] Change 3886442 by Cosmin.Sulea UE-53033 - Editor Rapidly Spawns Multiple Empty Windows Throughout Remote Shader Compiling #jira UE-53033 Change 3886441 by Cosmin.Sulea UE-54598 - Using an Invalid iOS Mobile Provision does not give descriptive error in Project Launcher, IPhonePackager #jira UE-54598 Change 3886427 by Sorin.Gradinaru UE-54139 Possible crash with new virtual keyboard on Android if suggestions not disabled - from //Dev-Mobile@CL3843552 #4.19 #Android #jira UE-54139 S8 on 7.0 is not hiding suggestions and disabling predictive input. There are cases with this that can cause a crash. Fix: On text change, downgrade to simple suggestions all the easy correction spans that are not a spell check span (remove android.text.style.SuggestionSpan.FLAG_EASY_CORRECT flags) Change 3886210 by Ethan.Geller [Release-4.19] #jira UE-53867 Ensure we don't read off into garbage memory for uncompressed PCM. Change 3886005 by Zak.Parrish Checking in faceAR work on behalf of 3Lateral #jira none Change 3885925 by Mike.Erwin Material preview label off-center on HiDPI screen #jira UE-52533 Change 3885778 by Dan.Oconnor Fix stepping over collapsed graph and macro nodes #jira UE-54950, UE-54955 Change 3885713 by Mike.Erwin glTF: fix material using wrong textures Imported material could plug the wrong textures into its inputs. The previous code tracked a material's textures based on image source index, corrected code uses texture (source + sampler) index. This is more general allowing an image to be referenced by multiple textures. Bug reported yesterday via email, demonstrated using the Khronos TextureSettingsTest sample model. #jira none Change 3885603 by Ben.Marsh Fixes for compiler errors in nightly builds of VS2017 in /permissive- mode. #jira Change 3885566 by Phillip.Kavan Fix a scoping issue related to inaccessible property reference caching in nativized Blueprint code. Change summary: - Modified FDefaultSubobjectData::EmitPropertyInitialization() to utilize the FScopeBlock utility to manage the inaccessible property cache during code generation for instanced subobject initialization. #jira UE-55061 Change 3885481 by Mark.Satterthwaite Attempt to workaround an Intel shader compiler bug without reopening a related AMD bug. This may cost performance unless function constants are available and the runtime compiler actually bothers to perform optimisation (AMD's did not in 10.12.6 and earlier). #jira UE-54333 Change 3885461 by Lauren.Ridge Fix for slot not being initialized to null #jira UE-55069 Change 3885455 by zak.parrish Adding initial files for FaceAR scene lookdev #jira none Change 3885446 by Zak.Parrish Adding test assets for Gremlin look dev. May get removed later prior to release. #jira none Change 3885424 by Krzysztof.Narkowicz Fixed skeletal mesh LODs inside editor. If skeletal mesh wasn't recently visible, code was incorrectly changing LOD settings without updating LOD data on render thread. #jira UE-53861 Change 3885406 by Zak.Parrish Rollback //UE4/Release-4.19/Samples/FaceARSample/Content/UI/FaceARDebugUI.uasset to revision 1 #jira UE-54639 Change 3885340 by Arne.Schober REL - Bitarray FindFromLast was masking incorrectly for the corner case where there is no slack #jira none Change 3885143 by Marc.Audy Merge memory corruption fix in CL# 3884991 from Fortnite-Staging to Release-4.19 #jira UE-54977 #jira UE-54976 #jira UE-54898 Change 3885093 by Mark.Satterthwaite Apple don't like testing for the validation layer in iOS App Store builds - it is unnecessary so we can disable this for shipping builds. #JIRA N/A Change 3884622 by Jurre.deBaare Moving over missing file from changelist for UE-54508 #jira UE-54508 Change 3883391 by Nick.Atamas Fix for UE-54622 : PIE in VR available when ARKit/ARCore plugins enabled. Only create ARKit/ARCore tracking systems on iOS/Android. #jira UE-54622 Change 3883257 by Phillip.Kavan Fix a Blueprint compile error for the GetClassDefaults node Map value outputs introduced by stronger type checking in 4.19 between Map pin types. #jira UE-55026 Change 3883024 by Lauren.Ridge Fixing static analysis warning #jira SA Change 3882510 by Michael.Dupuis #jira none : Fixed screen size calculation to take aspect ratio into account correctly Change 3882502 by Lauren.Ridge Fix for material layer parameters not rebuilding and adding save child button #jira UETOOL-1275 Change 3882458 by Krzysztof.Narkowicz Copying cached shadow map assert fix from Fortnite-Main (CL3802813) #jira UE-54747 Change 3882366 by Michael.Karambelas QAGame: made changes to QABP_Debugging, QABP_FunctionLib, and QA_TestHelper for Blueprint debugger tests. #jira UE-29618 Change 3881971 by andrew.porter QAGame: Removing actor from Shot_003 #jira UE-29618 Change 3881795 by Krzysztof.Narkowicz Added encoded HDR reflection capture cooking if targeting ES 2.0/3.1 on Windows #jira UE-53875 Change 3881550 by David.Hibbitts #JIRA UEENT-879 Subject frames now store world time explictly as a double with optional scene timecode as MetaData. This allows for use cases such as posing a single frame in Maya where the world time would be changing but the scene timecode associated with the animation remains fixed. THIS IS A BREAKING CHANGE: Sources from before this change will no longer compile. Change 3881339 by Jurre.deBaare Moving over: "Editor crashed when attempting to bake out all the material channels #jira UE-54508 #misc small UDN Merge actor / bake material fixes Change 3879557 by Dan.Oconnor Fix stepover behavior when no debug target is selected #jira UE-54978 Change 3879485 by Mike.Beach Limiting the number of stereo layers on Oculus android to 4 (otherwise, their lib crashes). #jira UE-54999 Change 3879438 by David.Hibbitts #JIRA UEENT-880 Added support for Subject level MetaData to LiveLink #rb martin.wilson #fyi james.golding, simon.tourangeau Change 3879343 by Lina.Halper Last min change that skiped compiling #jira: none Change 3879337 by Lina.Halper Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes. #jira: UE-54806 Change 3878968 by Phillip.Kavan Fix deprecation warnings in compiled stub class wrapper codegen for Blueprint class dependencies excluded from nativization. Change summary: - Modified FBlueprintCompilerCppBackendBase::GenerateWrapperForClass() to const-correct the assignment of cached weak pointers to referenced properties. #jira UE-54981 Change 3878962 by Adrian.Siminciuc https://jira.it.epicgames.net/browse/UE-54831 (No error occurs accepting if Android SDK license file cannot be written, but user cannot accept license) #4.19 #jira UE-54831 #android - shows an error message box informing that the license file could not be written. Change 3878821 by Andrew.Rodham Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation - The issue was that track segments that had been combined with adjacent segments (due to them being identical) would potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field. - The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed that a supplied range could not entirely contain any other range in the field. - The solution is to supply the insertion time along with the range to know exactly where the data should live in the field, and crop the range to the maximum allowable space between adjacent ranges. #jira UE-54922 Change 3878171 by Chris.Phillips Android: Fixed crash after splash screen when using Vulkan. #jira UE-54299 Change 3877950 by Ethan.Geller Fix copyright information from previous CL #jira none #rb none #lockdown Cristina.Riveron Change 3877859 by Nick.Shin rebuilt lighting for TM-ShaderModels and resaved the level #jira UE-53374 Client displays "lighting needs to be rebuilt (1 unbuilt object(s))" when launching TM-Shadermodels onto HTML5 Change 3877854 by tim.gautier Adding additional (temp) ML Test asset #jira UE-29318 Change 3877609 by Ethan.Geller [4.19] Change FWhiteNoise generate function to use SRand, due to weird distribution in FRandRange #jira UE-54965 #rb aaron.mcleran #lockdown cristina.riveron Change 3877474 by Lauren.Ridge Adding WITH_EDITOR wrappers to editor-only section of code #jira fixingcompiles Change 3877271 by Arne.Schober REL - Integrate 3872827 - The VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should not be neccessary #jira none Change 3877260 by Lina.Halper If revision is too far away, ignore the request and send current buffer - this is exactly how it used to do and it is still required, but this means motion vector will be ignored when this happens #jira: UE-54398 Change 3876950 by Lauren.Ridge Renaming layers in a material instance - from 4.19 preview feedback #jira UETOOL-1296 Change 3876932 by Arciel.Rekman Linux: updated the link to the cross-toolchain (UE-54597). #jira UE-54597 Change 3876918 by Phillip.Kavan Fix a regression that could cause packaging to fail and/or data loss with Blueprint nativization enabled. Change summary: - Removed logic that attempted to avoid redundant assignments of instanced default subobject references. This was not compatible with editinline characteristics that can allow certain object reference values to be overridden by the Blueprint class. - Explicitly defer to ExportTextItem() when generating C++ code for UObjectProperty/UInterfaceProperty reference values in which the underlying object reference is NULL. #jira UE-54870 Change 3876759 by tim.gautier Updated Material Layer test assets to include Opacity and Emissive. #jira UE-29318 Change 3876575 by Michael.Karambelas Updating the QABP_Debugging asset in QAGame with a couple of interfaces and additional logic for testing purposes. #jira UE-29618 Change 3876406 by Robert.Manuszewski Fixed a crash when reporting linker errors #jira UE-51037 Change 3875891 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. #jira UE-54914 Change 3875880 by Aaron.McLeran #jira UE-54916 Fixing up submix effect templates Change 3875673 by Brandon.Schaefer Fix Apex dependencies Depend on static Apex libraries in Apex.Build.cs versus Physx.Build.cs #jira UE-54861 Change 3875498 by Lauren.Ridge PR #4477: 4.19 Fixed a crash caused by the layered material property widget of the material instance editor. (Contributed by mlaveaux) #jira UE-54862 Change 3875322 by tim.gautier Recreating Material Layer test assets (asset version has changed) #jira UE-29318 Change 3875157 by Aaron.McLeran #jira UE-54901 Synth components do not allow sends to buses Change 3875103 by Brandon.Schaefer Need to use our bundled libc++.so not libstdc++.so when building Apex/PhysX/NvCloth libraries #jira UE-54815 Change 3875037 by Aaron.McLeran #jira UE-54896 Fixing up audio capture component to parameterize the delay Parameterize the jitter latency delay. Change 3875026 by Aaron.McLeran #jira UE-54895 Filter frequency values don't update live with EQ effects and 0-frequency cutoff causes pops Change 3874927 by Ryan.Vance #jira UE-54894 Ensure we don't delete aliased texture resources, they are managed externally. Change 3874925 by Martin.Wilson Remove XR post fix from live link code written during motion controller integration #jira none Change 3874354 by Ben.Marsh Use the compiler matching the user's preferred IDE if they don't have a specific compiler selected in the project settings. #jira UE-54272 Change 3877545 by Ben.Marsh Replace FPlatformMisc::DebugBreak() with the UE_DEBUG_BREAK() macro. VS2017 is able to show force-inlined calls on the callstack, which makes debugging asserts and ensures annoying. Use similar logic for expanding ensure() macros in place. #jira UE-54961 [CL 3963579 by Ben Marsh in Main branch]
2018-03-24 09:22:20 -04:00
FDelegateHandle ContentBrowserAssetExtenderDelegateHandle;
TSharedPtr<FMaterialEditorGraphPanelPinFactory> GraphPanelPinFactory;
};
IMPLEMENT_MODULE( FMaterialEditorModule, MaterialEditor );