#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3813004 by Matt.Kuhlenschmidt
Fix dpi scale being wrong when there is a mix of high dpi and low dpi monitors and the editor opens the window on the low dpi monitor
Change 3946515 by Michael.Trepka
Reverted CL 3813004. We need to save editor's root window size and position in DPI-independent units, as that's what the loading code expects.
Change 4052825 by Brandon.Schaefer
Add back -funwind-tables for arm
This was removed an only tested on x86 which worked just fine. Arm reqiures this for backtrace
#jira none
Change 4055318 by Brandon.Schaefer
Remove extra mallocs when crash handling
Still need to look into gmalloc calls, such as using FStrings during Ensure/Crash handling
[at]Arciel.Rekman
#jira UE-58538
Change 4055623 by Brandon.Schaefer
Replace std::endl with "\n"
As std::endl is "\n" << std::flush. On windows dump_syms was taking 33 seconds to fflush with std::endl on a 1.2GB file. No longer with "\n".
[at]Josh.Engebretson
Change 4057102 by Jamie.Dale
Added missing API export
Change 4057384 by Rex.Hill
Fix ReversePolygonFacing crash
Change 4067426 by Matt.Kuhlenschmidt
PR #4667: Source control history: remove empty spacing in the right of the detail panel (Contributed by SRombauts)
Change 4067587 by Matt.Kuhlenschmidt
PR #4311: PlacementModeTools shapes searchable and thumbnail (Contributed by projectgheist)
Change 4068480 by Cody.Albert
Fix display name for Display UI Extension Points
Change 4070876 by Brandon.Schaefer
Avoid printing when in a signal handler. Put that off until the end
#jira UE-36663
[at]Arciel.Rekman, [at]Anthony.Bills
Change 4071980 by Brandon.Schaefer
Cache files that are invalid or the wrong case sensitivity
#jira UE-58250
[at]Arciel.Rekman
Change 4079967 by Matt.Kuhlenschmidt
Added scale parameter to Canvas::DrawText
#jira UE-59023
Change 4080228 by Alexis.Matte
Fix the PerPlatformPropertiesWidget to be readable when there is many platform
#jira UE-57556
Change 4081171 by Matt.Kuhlenschmidt
PR #4272: Fix typo. (Contributed by Damianno19)
Change 4081601 by Matt.Kuhlenschmidt
GitHub 4077 : Hide SDetailView Filterbox when no actor selected
Change 4090114 by Matt.Kuhlenschmidt
Fixed touch events simulated through mouse not respecting high dpi
#jira UE-59477
Change 4091999 by Matt.Kuhlenschmidt
Fixed insert/delete/duplicate children calling PostEditChange on the existing child node not the array
Change 4093187 by Arciel.Rekman
Do not save window position if running with -nullrhi (UE-52498).
- This also fixes a crash on exiting automation tests.
#jira UE-52498
Change 4096404 by Richard.TalbotWatkin
Resaved test assets to update to latest UStaticMesh serialization format.
Change 4096445 by Richard.TalbotWatkin
New serialization layout for UMeshDescription.
- Only the bare minimum is serialized: any internal values which can be inferred from others in the Mesh Description are omitted.
- Triangles are no longer serialized: a triangulation step is performed per polygon when serialized.
- Attribute arrays of simple types are now serialized with BulkSerialize for speed; only FName requires element-by-element serialization.
Change 4112843 by Brandon.Schaefer
Rebuilt replacing std::endl with '\n' avoiding a std::flush *pre* write
Was taking 30 seconds to std::flush on a 1.2 GB file
#jira none
Change 4113422 by Brandon.Schaefer
If we are using the native bundled toolchain set LC_ALL=C to avoid locale issues
#jira UE-59416
Change 4113849 by Cody.Albert
Fix support for toolbar extensions in the UMG editor
Change 4118758 by Richard.TalbotWatkin
- Refactor to put UStaticMesh Mesh Descriptions in a separate object which is not loaded by default, but which can be requested when needed. This needs to be kept in sync with the number of SourceModel LODs.
- Various refactors to import/building.
- Changed UMeshDescription to FMeshDescription, and made its preferred semantics pass-by-reference rather than by pointer.
- Deprecated UMeshDescription.
Change 4119883 by Rex.Hill
Cleanup blueprint callable categories
Landscape Editor -> Landscape|Editor
Landscape Runtime -> Landscape|Runtime
Cloth -> Clothing Simulation
Cinematics -> Cinematic
Utility -> Utilities
Change 4119898 by Rex.Hill
Cleanup blueprint callable categories
x|Magic Leap -> Magic Leap|x
Apple ARKit * -> Apple ARKit|*
Change 4119972 by Brandon.Schaefer
Dont add colors if we are not outputing to a terminal
#jira UE-58173
Change 4119994 by Brandon.Schaefer
Only check once if we are outputing to a terminal
#jira UE-58173
Change 4122654 by Alexis.Matte
Fix re import assignment of sections
#jira UE-59611
Change 4123536 by Alexis.Matte
Add to the fbx importer the possibility to use different sample rate when importing an animation.
#jira UE-59444
Change 4124702 by Brandon.Schaefer
Fix duplicated struct/class from slightly different submit into main coming back into dev-editor
#jira UE-60163
Change 4133449 by Mike.Erwin
glTF importer work
Foundations of work for Skeletal Mesh import; right now we just support Static Mesh.
- node hierarchy
- joint IDs & skinning weights
- matrix & quaternion values
#jira none
Change 4133749 by Matt.Kuhlenschmidt
PR #4771: Fix access violation for ImportAsset commandlet fbx reimport. (Contributed by UristMcRainmaker)
Change 4133758 by Matt.Kuhlenschmidt
PR #4675: Properly set TextScale for OnScreenDebugMessages (Contributed by projectgheist)
Change 4134543 by Alexis.Matte
Update the staticmesh LOD model max deviation when generating a LOD
#jira UE-60353
Change 4134559 by Alexis.Matte
Deprecate FRawMesh, replace by MeshDescription - Editor scripting utilities
#jira UE-60666
Change 4134560 by Alexis.Matte
Deprecate FRawMesh, replace by MeshDescription - SpeedTreeImporter
#jira UE-60667
Change 4135335 by Alexis.Matte
Deprecate FRawMesh - GLTF importer
#jira UE-60670
Change 4135857 by Alexis.Matte
Fix CIS build warning
#jira none
Change 4137249 by Matt.Kuhlenschmidt
Fix tiny fonts from appearing in slow task dialogs
Change 4137280 by Matt.Kuhlenschmidt
Fix specifying relative paths for the auto-import commandlet not working
Change 4137283 by Matt.Kuhlenschmidt
PR #4305: Light map index was unintialized (Contributed by DSDambuster)
Change 4137290 by Matt.Kuhlenschmidt
PR #4382: Prevent error log due to non-existing plugin directory (Contributed by projectgheist)
Change 4147032 by Alexis.Matte
Deprecate FRawMesh, replace by MeshDescription - ABC Importer
#jira UE-60702
Change 4147978 by Matt.Kuhlenschmidt
Fix one of the CIS fails
Change 4154874 by Matt.Kuhlenschmidt
Fix hidden asset properties in struct details panels.
We consider all object properties with "allowedclasses" metadata to be asset properties since they only show an asset picker.
Change 4167303 by Matt.Kuhlenschmidt
Work around for sync to content browser from details panels not working for interface properties
Change 4167388 by Matt.Kuhlenschmidt
Make sure when converting relative path filenames in automated import that we convert them relative to the project directory.
Change 4171891 by Matt.Kuhlenschmidt
Fix preview mesh actor becoming stuck to the cursor when the editor or viewport loses focus
#jira UE-61246
Change 4175503 by Cody.Albert
Updated variable details panels to not display unusable metadata options for UMG widget references
#jira UE-55078
Change 4175736 by Cody.Albert
PR #4663: UE-20103: Slate widgets retain their category name v2 (Contributed by projectgheist)
Change 4178937 by Rex.Hill
Fix crash opening level after removing as sublevel
jira: UE-61305
Change 4181097 by Matt.Kuhlenschmidt
Fix Linux/Mac CIS
Change 4184333 by Alexis.Matte
Fix the material ID assignation when re-importing static mesh
#jira none
Change 4199682 by Arciel.Rekman
Linux: enable XGE during cross-builds to see whether the build issues persist.
- Licensees are asking for this and XGE folks are eager to help investigating the crashes, if any.
Change 4200944 by Cody.Albert
Updated VR Mode button to become inactive during SIE (instead of disappearing altogether)
#jira UE-50220
Change 4204817 by Alexis.Matte
Enable or disable the morph target weight slider depending of the project settings.
#jira UE-61671
Change 4204821 by Alexis.Matte
Optimize import time for morph targets
#jira UE-61670
Change 4207394 by Cody.Albert
PR #3299: UMG Slider Additions (Contributed by Dzuelu)
Change 4208299 by Brandon.Schaefer
Fix warning/error with logical operators
#jira none
Change 4210660 by Cody.Albert
PR #3458: UE-43728: Always show scrollbar when necessary (Contributed by projectgheist)
#jira UE-43727, UE-43278
Change 4215684 by Brandon.Schaefer
Linux: Implement minimized function for LinuxWindow
#jira UE-56023
Change 4217350 by Brandon.Schaefer
Linux: Clean up IsMaximized
#jira none
Change 4217489 by Brandon.Schaefer
Linux: Make popup menus BORDERLESS. Slate will give the menu events
This appears to fix a lot of our grabs causing compiz to do something issue.
#jira UE-59237, UE-54085, UE-51407, UE-50018, UE-53915
Change 4225018 by Cody.Albert
UMG Hierarchy now remembers expansion state when being destroyed and recreated (due to closing widget or switching to Graph view)
#jira UE-61836
Change 4225088 by Cody.Albert
Added hover style for color picker slider
Change 4226081 by Richard.TalbotWatkin
New attribute array API.
Fixed some flaws in the original API, deprecated various methods, and introduced some new features.
- Now attribute arrays are accessed via TAttributesRef or TAttributesView (and corresponding const versions). These value types hold references to attribute arrays, and individual elements can be accessed by their element ID and attribute index. Using a value type is safer than the previous method which required assignment to a const-ref (and not doing so would take a temporary copy of the attribute array).
- The attribute set has been totally flattened, so all attributes of different types are added to the same container. This greatly improves compile times, prevents attributes from being created with the same name but different types, and permits the view feature.
- The class hierarchy has changed to have generic base classes where possible with no particular ElementID type. This reduces the code footprint by no longer generating nearly identical copies of templated methods.
- A TAttributesView allows the user to access an attribute array by the type of their choosing, regardless of its actual type. For example, the Normal attribute may be registered with type FPackedVector, but accessed as if it was an FVector. This allows us to move away from very strong typing, and instead transparently store attributes of a more efficient size, while the user is not affected.
- A transient attribute flag has been added, to denote that a particular attribute should not be saved.
Change 4226083 by Richard.TalbotWatkin
Reinstated original mesh editor materials.
Change 4226102 by Richard.TalbotWatkin
Fixed some deprecation warnings, and a mistake in MeshAttributeArray.h.
Change 4226118 by Richard.TalbotWatkin
Fix build errors:
- Added missing file
- Corrected the last fix.
Change 4226121 by Richard.TalbotWatkin
Bumped static mesh mesh data GUID.
Change 4226231 by Richard.TalbotWatkin
Removed some test code which got checked in by mistake.
Change 4226232 by Richard.TalbotWatkin
Fixed typo which caused build errors.
Change 4226234 by Richard.TalbotWatkin
Fixed a typo in MeshDescriptionTests.
Change 4226237 by Richard.TalbotWatkin
Removed over-cautious deprecation warnings. Once GetAttributes() is changed to GetAttributesRef(), element access will still work with array syntax.
Change 4226625 by Richard.TalbotWatkin
Added missing asset.
Change 4227365 by Matt.Kuhlenschmidt
Fix brush actors not showing the correct icon in scene outliner.
- Actors can now supply their own icon if needed
#jira UE-61948
Change 4229632 by Alexis.Matte
Make the namespace an import option
#jira UE-62099
#jira UE-62067
Change 4229637 by Alexis.Matte
Fix fbx importer staticmesh the light map index, the index was check before the build.
#jira UE-62064
Change 4232793 by Chris.Gagnon
Added include to fix non unity builds.
#jira UE-62138
Change 4234206 by Brandon.Schaefer
Linux: Allow windows that want to be resizable to be resizeable
Github PR #3578 thanks hhyyrylainen
#jira UE-45847
Change 4234322 by Brandon.Schaefer
Continue after starting UnrealVersionSelector to avoid blocking a chain command
#jira UE-61530
Change 4234446 by Chris.Gagnon
Properly handled FPackageName::TryConvertFilenameToLongPackageName() failing in Cache Thumbnail.
#jira UE-61990
Change 4235057 by Brandon.Schaefer
Linux: Write to stderr when we fail to find expected to find sym file
#jira none
Change 4235121 by Brandon.Schaefer
Linux: Mark the static bool as soon as we enter the scope
#jira none
Change 4235399 by Brandon.Schaefer
Linux: Check we are not x86 otherwise add unwind tables
Copying the change that went over into 4.20.1 here
#jira none
Change 4240539 by Jamie.Dale
Made DataTableUtils::GetX functions take a const data pointer
Change 4240646 by Chris.Gagnon
Fix for delayed destruction of UWidgets when they are manually removed from a panel as part of tear down.
Inspired by the pull request, however I put in a more generic fix.
PR #4904: Fix late release of Slate resources managed by UMG slot widgets (Contributed by cmp-)
Change 4242975 by Yuriy.ODonnell
Moved duplicated code from MeshUtilities and MeshDescriptionOperations (FLayoutUV, FAllocator2D, FOverlappingCorners, etc.) into a new single module MeshUtilitiesCommon.
Add a generic opaque mesh view interface FLayoutUV::IMeshView to abstract mesh data access and allow FLayoutUV to be used with any mesh type in any module.
Replaced few instances of using an old version of overlapping corners data structure (multi-map) with new specialized FOverlappingCorners container.
Change 4243112 by Yuriy.ODonnell
Use new attribute array API for accessing FMeshDescription data.
Change 4243131 by Brandon.Schaefer
Cast our new resize w/h to int before checking if we are already that size
#jira UE-52291
Change 4243172 by Brandon.Schaefer
Ceil not trunk for this compare
#jira none
Change 4243271 by Brandon.Schaefer
Change address to be more portable
MS compiler does not place a '0x' on %p formating. Linux/Mac append a '0x' to the address
#jira UE-62325
Change 4243276 by Richard.TalbotWatkin
Fixed deprecated MeshDescription calls (merged with Yuriy's changes).
Change 4244067 by Lauren.Ridge
Preventing crash on floating text if asset container does not exist. VR Editor floating text is now not placeable or blueprintable.
#jira UE-62139
Change 4244547 by Lauren.Ridge
Changes to more accurately represent android behavior in PIE and UMG
#jira UE-62301
Change 4244830 by Alexis.Matte
Fix animation Range import, prevent changing the option when validating the anim range.
#jira UE-62055
Change 4250565 by Yuriy.ODonnell
Removed GeometryCache dependency on MeshUtilitiesCommon in non-editor configs.
Change 4254733 by Matt.Kuhlenschmidt
Slate Fast Path - Changed FSlateWindowElementList GetWindow to be thread safe. For fast path, this is accessed on multiple threads so it needs to be safe
GetWindow is deprecated and GetPaintWindow should be used instead
Edigrate from source CL 4254611
Change 4257092 by Chris.Gagnon
Improved UMG rename validation to respect the errors from the blueprint validator.
This fixes at least the case where it miss reported the issue when the name was greater than the length limit in blueprints.
#jira UE-62417
Change 4257124 by Chris.Gagnon
PR #4924: UE-62113 Fix Other filters toggling all assets to show up (Contributed by mamoniem)
#jira UE-62457
Change 4258696 by Chris.Gagnon
Removed Tab Spawner for Color Curve Editor is your not editing the color curve.
#jira none
Change 4258937 by Chris.Gagnon
Simplifed the code in the case of a null CurveOwner.
#jira UE-62443
Change 4259162 by Richard.TalbotWatkin
Fixed crash when entering mesh editor mode after having loaded a new level.
Change 4259909 by Chris.Gagnon
Added better check output to try and learn more about a crash in the wild.
Added some better const saftey while in there.
#jira UE-60696
Change 4259995 by Chris.Gagnon
Fix for possible crash if the mesh has invalid materials.
Also fixed the fact the FindMaterialIndicesUsingTexture() didn't work as advertised at all.
Seems like you'd attemp to paint all materials even when trying to only paint the ones using a particular texture.
#jira UE-62488
Change 4261012 by Michael.Dupuis
#jira UE-48899: Make sure the RootComponent is valid before trying to use it.
Change 4261361 by Michael.Dupuis
#jira UE-48899: Fixed the warning about scale
Change 4261926 by Michael.Dupuis
#jira UE-48899: Only check the root component validity as it's possible that the component is not registered when this get called.
Change 4262163 by Richard.TalbotWatkin
Fixed uninitialized member.
#jira UE-62493
#jira UE-62506
Change 4262549 by Brandon.Schaefer
Linux: Update the Slate application what the window size will most likely be
As X11 takes a frame to send an Event that a window has had its size changed. This causes things such as the slate renderer to think the window size is different then it actually it. This causes streching of tooltips
#jira UE-62555
Change 4262581 by Brandon.Schaefer
Linux: Use Show so we preserve our bIsVisible bool and avoid sending SDL_ShowWindow twice (ie. if its already shown)
#jira none
Change 4262906 by Chris.Gagnon
PR #4915: [UMG] Bind UWidgetAnimation from C++ to blueprint created animation (Contributed by TheCodez)
Change 4262965 by Chris.Gagnon
PR #4932: Fix to generate cleaner C++ files when using "New C++ Class" (Contributed by TheCodez)
Change 4263177 by Chris.Gagnon
PR #4935: Prevent crash when clicking use selected game mode multiple times (Contributed by projectgheist)
Change 4264723 by Christina.TempelaarL
Fixed SceneCaptureComponent so ShowOnlyActors property is writeable in blueprints.
#jira UE-62547
Change 4266029 by Michael.Dupuis
#jira none: Guarded against the scene being null
Change 4266356 by Richard.TalbotWatkin
Changed FMeshDescription to a struct from a class.
Added log errors when loading UMeshDescription objects (now deprecated), in preparation to resave any which remain.
Once all serialized UMeshDescriptions are wiped out (they only exist internally), FMeshDescription will become a USTRUCT.
Change 4266621 by Matt.Kuhlenschmidt
Fix UE4 icon to be the correct one
Change 4266635 by Chris.Gagnon
Added Message Log output for invalid software cursor as opposed to ensure/log.
#jira UE-62554
Change 4268136 by Matt.Kuhlenschmidt
Fix outline colors not updating when changing on the fly
#jira UE-42116
Change 4269184 by Chris.Gagnon
Fix for possible nullptr dereference.
#jira none
Change 4269902 by Brandon.Schaefer
Slate dialog modal window was not settings its parent window
#jira UE-62608
Change 4272083 by Chris.Gagnon
Fix for case where the the property noded arn't rebuilt in time and custom property ui can be using stale data.
#jira UE-62499
Change 4272869 by Michael.Trepka
Make sure ShooterGame sets correct input modes/mouse capture in menus and in game to avoid problems with keyboard not working in menus after alt-tab
#jira UE-61017
Change 4275155 by Michael.Dupuis
#jira UE-62526: Update lightmap/shadow UV mapping after lighting build on HISMC. ISM will get also updated due to the Edit() that will reapply the values on CreateSceneProxy
Change 4275298 by Lauren.Ridge
Fixed string parsing when looking at parent cvar values
#jira UE-62301
Change 4275391 by Lauren.Ridge
Fix for resolutions increasing when swapping landscape/portrait
Change 4275606 by Lauren.Ridge
Moving all asset container access to PostActorCreated to avoid VR editor assets in cooks
#jira UE-57797
Change 4275807 by Lauren.Ridge
Duplicating color themes now dupllicates the color labels as well
#jira UE-60697
Change 4275989 by Lauren.Ridge
When selecting a node while the details panel is behind a different panel in the same dock tab, the details panel is brought forward
#jira UETOOL-1325
Change 4276146 by Lauren.Ridge
Fix for new texture sample nodes not taking the selected texture from the content browser as the starting value.
#jira UETOOL-1322
Change 4276412 by Lauren.Ridge
Assets that can be dragged into the material graph now indicate that with a checkmark
#jira UE-56024
Change 4279549 by Lauren.Ridge
Fixed recursion of calls through SetDesignerFlags to avoid double-recursion with many nested panels
#jira none
Change 4279894 by Lauren.Ridge
Adding check for RootWidget existing
Change 4279969 by Michael.Trepka
Updated FDesktopPlatformMac::FileDialogShared() to handle a case where no extensions were specified in FileTypes string
#jira UE-62421
Change 4280317 by Lauren.Ridge
Adding if WITH_EDITOR
Change 4280716 by Chris.Gagnon
PR #4979: UE-62795: Deprecate bAutoWrapText in TextBlock (Contributed by projectgheist)
Slightly modified, the base syncronize sets the autowrap value.
Change 4280847 by Lauren.Ridge
Single property setting changes will now also call OnModified delegate for their section
#jira UE-58276
Change 4280850 by Chris.Gagnon
Added early out and log if focus is attempted to be set when the window is suppost to be be disabled due to a modal window being up.
#jira UE-62742
Change 4280931 by Brandon.Schaefer
Linux: Use MallocCrash when hitting out of memory issues in BinnedAllocFromOS
#jira FORT-108267
Change 4281460 by Lauren.Ridge
Clearing focus on a variable once it is committed. Fixes assert on undo
#jira UE-61872
Change 4283706 by tim.gautier
QAGame: Adding HISM test map / assets
Change 4283980 by Michael.Trepka
Unshelved from pending changelist '4238012':
Xcode project generator improvements
- Per-project precompiled header that wraps UnrealEd.h with #ifdef __cplusplus to allow Xcode to compile the pch in ObjC mode. Later we could replace UnrealEd.h with some other header file for non-editor targets
- Moved commands that disable compile warnings from MacToolChain's GetCompileArguments_Global to ApplePlatformCompilerPreSetup.h. Thanks to this we can have all the Xcode recommended warnings enabled in the project, but still allow Clang to index our code without reporting warnings
- Few more minor changes to fix Xcode's project validation and indexing warnings
Also, unify compile warning flags across all Apple platforms.
#jira UE-47965, UE-44327
Change 4284062 by Michael.Trepka
Copy of CL 4222794 from 4.20
Fixed a crash at exit in Mac editor caused by an attempt to use MetalProfiler after deleting it
#jira none
Change 4284266 by Brandon.Schaefer
Linux: Fix deadlock in a file cache which could be locked in a crash handler
#jira UE-62808
Change 4284469 by Lauren.Ridge
Fix for material parameter node crashing
Change 4284541 by Lauren.Ridge
Blueprints inheriting from UWidget will now show up in the palette view even if they are not loaded.
#jira UE-59164
Change 4284542 by Michael.Trepka
Copy of CL 4222797
Fixed a problem with FMacPlatformMisc::NormalizePath allocating an autorelease pool during crash handling, which resulted in the OS killing the process before we spawn CrashReportClient. Now this function is identical to Linux version.
#jira UE-61779
Change 4285288 by Cody.Albert
Fixed crash when changing "Show Coalesced" setting in profiler
Change 4285483 by Chris.Gagnon
PR #4936: Duplicate widget functionality for UMG editor (Contributed by projectgheist)
Fixed up some variable names.
#jira UE-62528
Change 4287219 by Brandon.Schaefer
dump_syms: Replace inline file/line with their callsite over the inline location
Fix <name omitted> appearing as the names for the function
Disable CFI generation for Windows (Linux theres a command line). Speeds up symbol generation
#jira FORT-670
Change 4287247 by Brandon.Schaefer
BreakpadSymbolEncoder: If the file doesnt have a newline at EOF handle that as a seperate case
#jira none
Change 4287259 by Brandon.Schaefer
dump_syms: Build on centos7
#jira none
Change 4287269 by Brandon.Schaefer
Linux: Disable generating CFI info when running dump_syms
#jira none
Change 4287326 by Brandon.Schaefer
dump_syms: Update to disabling the CFI generation version
#jira none
Change 4287902 by Brandon.Schaefer
TestPAL: Add cases for testing inline callstacks
#jira UEENGQA-21414
Change 4288365 by Lauren.Ridge
PR #4422: Set default material parameter name (Contributed by projectgheist)
Change 4292002 by Brandon.Schaefer
Linux: If our default settings are empty help fill in the proper name
#jira UE-62910
Change 4292496 by Lauren.Ridge
Now all renamable nodes do name verification also
Change 4292532 by Lauren.Ridge
PR #4989: Add icons to folder context menu favorites (Contributed by projectgheist)
Change 4293043 by tim.gautier
QAGame: Added a panner to ML_Albedo
Change 4295326 by Richard.TalbotWatkin
- Updated MeshDescription attribute calls to fix deprecation warnings.
- Removed TMeshAttributeArraySet::AddArray because the functionality was already available as part of SetNumIndices.
- Renamed TMeshAttributeArraySet::InsertArray, RemoveArray to InsertIndex, RemoveIndex for naming convention consistency (these methods deal with attribute indices, not with arrays). Added support for them in other attribute classes, and made them virtual so they can be called as part of an AttributesView.
- Removed redundant code in FUSDStaticMeshImportState::AddPolygons, when determining the number of UVs in the mesh description.
Change 4295795 by Richard.TalbotWatkin
Corrected MAX_MESH_TEXTURE_COORDS_MD references.
Change 4297308 by Cody.Albert
Fixed bug with InputPreProcessorsHelper::Add not correctly adding input processors
Change 4297799 by Brandon.Schaefer
Linux: Dont assume DISPlAY=:0
#jira UE-63050
Change 4298150 by Brandon.Schaefer
dump_syms: This is rebuilding dump_sym changes from CL 4287219 for Mac
Replace inline file/line with their callsite over the inline location
Fix <name omitted> appearing as the names for the function
Disable CFI generation for Windows (Linux theres a command line). Speeds up symbol generation
Source code changes for dump_syms was changed at CL 4287219
#jira none
Change 4298369 by Brandon.Schaefer
dump_syms: Rebuild for Linux/Windows to fix a possible crash when missing debug_ranges in the debug section
Source changed in CL 4298150
#jira none
Change 4301952 by Lauren.Ridge
Fixing input labels on material function inputs
#jira UE-63077
Change 4302388 by Brandon.Schaefer
Linux: If we have a 0 LineNumber lets try to use to the previous Record.
Still an issue with non-virtual thunks reporting line number zero but it seems even windows skips these frames. GDB reports a different callsite that doesnt seem super related (possibly?) Nothing to do with thunking though.
#jira UE-62930
Change 4304835 by Alexis.Matte
Add imported framerate info to anime sequence
#jira UE-51302
Change 4307480 by Brandon.Schaefer
SDL2: Update to newer version hg-12121:4358e537000a
Fixed github PR #4844 as well (thanks tomix1024)
#jira UE-62783 UE-61369
Change 4307481 by Brandon.Schaefer
SDL2: Rebuild with the newer version hg-12121:4358e537000a
Fixed github PR #4844 as well (thanks tomix1024)
#jira UE-62783 UE-61369
Change 4308264 by Brandon.Schaefer
Linux: Make both DLLIMPORT the same value
#jira UE-61174
Change 4308640 by Matt.Kuhlenschmidt
Added a "report bug" menu entry to the help menu
#jira UE-63182
Change 4309508 by Brandon.Schaefer
nvTextureTools: Rebuild on Linux using our libc++ and not libstdc++
Move to the proper runtime depend location
#jira UE-54892 UE-61705
Change 4309554 by Brandon.Schaefer
SDL2: Add last missing folder
#jira none
Change 4309955 by Chris.Gagnon
PR #5017: UE-63105: Modify SGraphActionMenu::OnKeyDown to use a different branc. (Contributed by projectgheist)
Change 4311008 by Brandon.Schaefer
nvTextureTools: Actually remove libstdc++ from Linux build
#jira UE-54892
Change 4312195 by Alexis.Matte
- Fix the set range feature to always use the file sample rate so the range match what the user see in the DCC
- Also add some fbx file information to the import dialog
#jira UE-62504
Change 4315347 by Brandon.Schaefer
Linux: Disable XGE builds as it appears to be lower casing folders when the build platform is Windows
#jira UE-63296
Change 4318704 by Lauren.Ridge
Fix for crash on opening map built data
#jira UE-63301
Change 4319999 by Lauren.Ridge
Fix for crash in vr mode
#jira UE-63376
Change 4320144 by Chris.Gagnon
Fix for smoke content that set the hovered size different to the normal size on the UMG slider handle.
#jira UE-63367
Change 4327887 by Michael.Trepka
Disable nonportable-include-path warning in iOS toolchain to allow incorrect case in paths to headers passed using -include
#jira UE-63408
Change 4217622 by Brandon.Schaefer
Linux: Pass a command line argument to crash reporter to show or skip a user agreement popup
#jira none
Change 4312048 by Brandon.Schaefer
Linux: Dont disable ICU by default on Servers
#jira UE-59113
Change 4320173 by Chris.Gagnon
Fix for startup movie streamer on xbox not finishing.
#ROBOMERGE-OWNER: jason.bestimt
#ROBOMERGE-SOURCE: CL 4329255 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
[CL 4329265 by chris gagnon in Dev-VR branch]
Added GroundTruth for UE-60162
Merged Testblacklist work from Release-4.20
#lockdown Nick.Penwarden
#tests ran locally
#rb none
#ROBOMERGE-SOURCE: CL 4133609 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-OWNER: jason.bestimt
[CL 4133614 by andrew grant in Dev-VR branch]
Copying //UE4/Release-Staging-4.20 to //UE4/Dev-Main (Source: //UE4/Release-4.20 [at] 4119625)
============================
MAJOR FEATURES & CHANGES
============================
Change 4119625 by Thomas.Sarkanen
Prevented Blueprint notifies from destroying the animation preview actor
We now use a custom actor class in the preview scene.
Also prevented snim instnace class from being altered from Blueprint.
#jira UE-55335 - Modifying animation preview actors from notifies can crash the engine
Change 4119481 by Cosmin.Sulea
UE-58371 - Various actions utilizing Cook by the Book for certain platforms crash the editor
#jira UE-58371
Change 4119455 by Cosmin.Sulea
UE-59711 - TVOS/iOS fails to build from Windows with numerous errors 'no such file or directory' (reviewed)
#jira UE-59711
Change 4119195 by Ryan.Gerleve
Fixing shootergame leaderboards to increment properly. This fixes rows not incrementing properly.
#Jira UE-58999
#AUTOMERGE using branch //UE4/Dev-Networking_to_//UE4/Release-4.20 of change#4085065 by Jake.Leonard on 2018/05/21 20:10:53.
Change 4119192 by Ryan.Gerleve
Fixing the SteamAuth interface from not shutting off if the packet handlers do not exist.
#Jira UE-58697
#AUTOMERGE using branch //UE4/Dev-Networking_to_//UE4/Release-4.20 of change#4072153 by Jake.Leonard on 2018/05/14 18:44:30.
Change 4119191 by Ryan.Gerleve
SetDedicatedServer before login to fix bad functional usage.
#Jira UE-58310
#AUTOMERGE using branch //UE4/Dev-Networking_to_//UE4/Release-4.20 of change#4059028 by Jake.Leonard on 2018/05/08 18:19:10.
Change 4119104 by Shaun.Kime
Syncing with fixing in Dev-Niagara up to CL 4118934
Making it so that you can only AddParameters in graphs where it makes sense to do so. Promoting variables also follows the same logic.
#jira UE-58070
#tests made dynamic input, function, and module graphs and made sure that each one was only capable of creating the types that were proper
Fix for community issue where you could connect an input and output node and encounter a check that the warnings variable array was no longer the same size as the variables array.
#jira UE-60076
#tests auto-tests pass as well as jira use case
Houdini - Niagara:
Added a version to FNiagaraDataInterfaceParametersCS_HoudiniCSV to avoid further issue when deserializing them.
Fixed bug causing no points to spawn when all points in a file spawned at the same time value.
Removed unneeded tests/restriction when calling functions requiring time value on file without time values.
When no time value is in the file, it is cosidered to always be 0.
Fixed differences between GPU/CPU code.
Fixed special attributes column for Vectors in the CSV file not properly named after being expanded.
Houdini - Niagara:
Moved the logic of GetPointIDsToSpawnAtTime to HoudiniCSV so the function can be called from blueprints.
Renamed the MinIndex/MaxIndex parameters on it to MinId/MaxID.
Multiple fixes to the spline component, which hasn't received attention in a long time. It is only supported on CPU VM.
#tests new auto-test now passes
#jira UE-60111
System Sim for Update On Spawn
#jira UE-59518
Fix for crash where dynamic inputs didn't have a proper parameter map input value.
#tests new auto-test added
#jira UE-50994
Houdini-Niagara:
Updated the uplugin file.
Change 4119056 by Nick.Shin
#jira UE-59573 HTML5 foliage is being scaled massively
Change 4119055 by Nick.Shin
#jira UE-58440 HTML package crashes when F5 key is pressed
Change 4118965 by Joe.Conley
#jira UE-59755 "Magic Leap: Project setting to set vulkan or ES2 needs to be removed"
- Removing "EditAnywhere" from ULuminRuntimeSettings::bUseVulkan (and category because it errors if you have a category on something that is not EditAnywhere)
- Defaulting [/Script/LuminRuntimeSettings.LuminRuntimeSettings] bUseVulkan to true
Tested that bUseVulkan is true in a new project, and that the setting is now hidden from Project Settings > Magic Leap > Build
Change 4118929 by Wyeth.Johnson
Niagara Content Examples
Friction and restitution examples
#jira UE-60030
Change 4118832 by Fred.Kimberley
Mirror CL 4070790 from Dev-Framework
fix crash in watch window when blueprints that are being watched get deleted.
Add support to the watch window for renaming assets that are being watched.
Fix a bug that made the non-instanced watches show up if the watch window was opened while execution was paused at a breakpoint.
#jira UE-58974, UE-58977
Change 4118826 by Brandon.Schaefer
Use setlocale to be portable for all locales
#jira UE-59922
Change 4118817 by Frank.Fella
Niagara - Reset cached dependency data when the emitter view models are refreshed in the system. Fixes incorrect dependencies when applying changes from parent emitters in systems.
#jira UE-60005
Change 4118785 by Wyeth.Johnson
Niagara Content Examples
Simple collision example (and collision queries dependencies)
#jira UE-60030
Change 4118775 by Lauren.Ridge
Fix for undo spam when changing colors in the gradient editor
#jira UE-57194
Change 4118724 by Frank.Fella
Niagara - Fix issues with editing burst keys through the timeline context menu.
#jira UE-60133
Change 4118490 by Frank.Fella
Niagara - Prevent parameter store change events with uninitialized data.
#jira UE-60122
Change 4118383 by Frank.Fella
Niagara - Prevent a crash when the user sets the loop duration of their emitter to be negative.
#jira UE-60118
Change 4118297 by Dan.Oconnor
Unhide debug filter for level blueprints - it is useful when a user wants to filter based on the world
#jira UE-59915
Change 4118288 by Ben.Marsh
Force the Visual Studio interop library to be included in the installed build. This isn't technically necessary (it has EmbedInteropTypes=true, so gets compiled into the executable), but QA sometimes attempt to rebuild it in-place.
#jira UE-60048
Change 4118271 by Max.Chen
Movie Scene Capture: Fix crash switching capture protocols.
#jira UE-60113
Change 4118185 by Arne.Schober
RL - Fix circlebreaking code in the resorting of force delete
#jira UE-60083
Change 4118048 by Ben.Marsh
Fix runtime dependencies referenced by precompiled modules for monolithic target platforms not being included in the receipt.
#jira UE-59721
Change 4118015 by Wyeth.Johnson
Niagara Content Examples
Solver position management, event generators, event receivers, ribbon even receiver.
#jira UE-60030
Change 4117936 by Lauren.Ridge
Can attempt to enter simulate no matter what the last play session is. Using Alt+S while using any PIE method other than Play in Current Viewport will silently fail; Alt+S using Play In Current Viewport will transition to simulate.
#jira UE-60075
Change 4117883 by Andrew.Rodham
Sequencer: Fixed crash caused by re-allocation of the same named camera cuts track
#jira UE-47661
Change 4117876 by Mitchell.Wilson
Initial check in of combined PhotorealisticCharacter and DigitalHuman samples.
#jira UE-60097
Change 4117819 by Lina.Halper
Fix issue where master bone map does not exists when master pose component is serialized
- allow force update master pose component
#jira: UE-59634
Change 4117800 by Lina.Halper
Prevent Master pose component chain
#jira:UE-59957
Change 4117750 by Martin.Wilson
Keep source raw animation data in sync with raw when cropping.
#jira UE-58675
Change 4117717 by Frank.Fella
Niagara - Fix an issue where deleting a module and undoing would not restore input values for rapid iteration parameters.
#jira UE-60080
Change 4117702 by Ben.Marsh
Add a static assert that Visual Studio 15.6 must be installed to build the engine. Previous versions had various issues, including bad code generation causing crashes in the editor, UTF-8 BOMs being inserted into source files, etc...
#jira
Change 4117516 by Dmitriy.Dyomin
Fixed: Crash when performing an undo after generating LOD of a level
#jira UE-58293
Change 4117318 by Simon.Therriault
D3D12Viewport
- Fix for D3D12 Invalid Error message
#jira UE-60091
Change 4117293 by Dan.Oconnor
Add warning to detect default value changes when assets were saved in earlier versions of the editor, which may have had bad default value information on some call function nodes
#jira UE-58298
Change 4116709 by Marc.Audy
Fix bitpacking regression in FBodyInstance
#jira
Change 4116693 by Wyeth.Johnson
ContentExamples: Dynamic beams with variable start points, end points, tangents in local or worldspace.
#jira UE-60030
Change 4116691 by Frank.Fella
Niagara - Prevent multiple save prompt dialogs on shut down when you have script or emitter editors open with unsaved changes and you decide not to save them.
#jira UE-60068
Change 4116648 by Michael.Trepka
Updated minumum macOS version required to run the editor to 10.13.5
#jira none
Change 4116639 by mason.seay
Updated Sequence to be 60fps
#jira UE-29618
Change 4116634 by Frank.Fella
Niagara - Prevent missing dependencies from loading all niagara script assets.
#jira UE-60038
Change 4116629 by Frank.Fella
Niagara - Prevent an assert when undoing dependency fixes in the stack.
#jira UE-60039
Change 4116626 by Frank.Fella
Niagara - Fix a crash caused by delegates not being cleaned up properly in the emitter view model.
#jira UE-60063
Change 4116618 by Max.Chen
Movie Scene Capture: Fix to use automated level sequence capture ui name so that it's the same as the dialog settings.
#jira UE-59997
Change 4116522 by Wyeth.Johnson
ContentExamples: Simple sprite emitter, simple mesh emitter, and deleted the temp particle in the content examples stub folder.
#jira UE-60030
Change 4116479 by Francis.Hurteau
fixed compilation by commenting static assert in AddReferencedObject
#jira UE-60058
Change 4116407 by Uriel.Doyon
Fixed texture ending up in the unkown ref heuristic when changing material quality levels.
#jira UE-60060
Change 4116340 by Jamie.Dale
Avoid Memcmp if size is zero
#jira none
Change 4116132 by Francis.Hurteau
fixed a crash when GC triggered while Sequencer FBX import window is opened (i.e. Autosave)
added missing static asserts and fixed resulting compilation error
#jira UE-60049
Change 4116036 by Wyeth.Johnson
Rollback //UE4/Release-4.20/Samples/ContentExamples/ContentExamples.uproject to revision 2
#jira UE-60030
Change 4116011 by Lina.Halper
We set default setting to tick on init - as it's more user friendly option
#jira: UE-56303
Change 4115980 by Michael.Dupuis
#jira none: buildfix linux
Change 4115975 by Wyeth.Johnson
Beam content example, static beams. Adjust size and distribution of content example map
#jira UE-60030
Change 4115900 by Mark.Satterthwaite
More build fixes, this time for Debug on iOS.
#jira UE-59883
Change 4115740 by Uriel.Doyon
Fixed asset thumbnail crash when exiting at the same time the game engine is closing.
#jira UE-58271
Change 4115686 by Francis.Hurteau
Do not import a camera track if we aren't creating cameras or importing on selected objects
#jira UE-59347
Change 4115682 by Marc.Audy
Fix crash when Pin has been deleted already
Use MoveTemp in a few places with construction of FWatchRows
#jira UE-59847
Change 4115673 by Lina.Halper
Fix crash when remapping pose asset to new skeleton
#jira: UE-59499
Change 4115668 by Uriel.Doyon
Re-enabled pix on windows
#jira UE-59174
Change 4115540 by Michael.Dupuis
#jira UE-59256: When rebuilding procedural foliage allow the foliage to be rebuilt
Fixed a scale issue that would give a much lower fistance factor than expected
Change 4115468 by Lina.Halper
Merging using Fortnite-Main<->Release4.20
Change to ensure to track down the issue better.
#jira: UE-58010
Change 4115399 by Mitchell.Wilson
Submitting initial Niagara content examples level and content path.
#jira UE-60025
Change 4115375 by Sorin.Gradinaru
UE-59066 Intermittent RemoteSessionApp crash
#jira UE-59066
#4.30
Memory leak fixed.
Change 4115373 by Sorin.Gradinaru
UE-55180 Cook on the Fly server quits unexpectedly using Windows UFE to iOS
#jira UE-55180
#4.20
rb Jack.Porter
Check if the CookOutputDir exists to prevent exception on EnumerateFiles().ToList()
Change 4115246 by Benn.Gallagher
From Nvidia: Fixes to incremental AABB to better organise the query tree as we were quickly blowing a stack in one of our tests. Test now succeeds with these changes.
#jira UE-59191
Change 4115125 by Benn.Gallagher
Fixed clothing LOD update receiving empty bone transform array on initialization if a master pose component was used
#jira UE-59878
Change 4114593 by Tim.Gautier
Enabling Niagara, Niagara Extras, and HoudiniNiagara by default in QAGame
#jira UE-29618
Change 4114589 by Ryan.Vance
Oculus SI 1.25
#jira UEVR-1143
Change 4114420 by Matt.Kuhlenschmidt
Fix UMG anchor prompts being wrong on mac
#jira UE-59998
Change 4114351 by Uriel.Doyon
Refactor LargeMemoryWriter code so that the DuplicateDataArchive could reuse the large alloc managment.
#jira UE-56509
Change 4114271 by Uriel.Doyon
Changed virtual path when streaming textures, so that it clears the IO requests on an async task instead of in the renderthread.
#jira UE-57614
Change 4114258 by Arne.Schober
RL - The uniformbuffer description is cached in multiple levels for shader compilation. Notable Caches are the ShaderDirectoryFileMapping the MMCP File cache and multiple other smaller file caches along the way. Instead of invalidating those caches I made the Uniform buffer layout completely immutable for all Platform varieties. Differences in lauout are triggered via defines as a progammer would have done it writing the code by hand. THe padding has been unified between GLSL and HLSL padding rules and theoretically work for both of them uniformly.
#jira UE-58707
Change 4114182 by Max.Chen
Sequencer: Expand the clamp range when necessary if the sequencer window expands.
This fixes a new bug where the view range would not update because TimeSliderController::SetViewRange now clamps the incoming view range to the clamp range. In one case, tick marks in the display were cached using the view range and weren't getting updated as the window was resizing because the view range remained clamped.
#jira UE-59982
Change 4114156 by Mark.Satterthwaite
Update for new Xcode metal shader compiler requiring different arguments. Make some slight changes to make some behaviour and error reports clearer.
#jira UE-60011
Change 4114143 by mason.seay
Resaved asset to remove error
#jira UE-29618
Change 4114128 by Chris.Babcock
Add Mali G72 device profile for Android
#jira UE-60009
#ue4
#android
Change 4114070 by Jamie.Dale
Fixed crash on shutdown after binding python member function to delegate
#jira UE-59949
Change 4114030 by Max.Chen
Sequencer: Fix crash with stale section pointer
#jira UE-59971
Change 4113978 by Arne.Schober
RL - D3d12 issues with resource allocation and de allocation when the RHI is not alive yet.
UDN https://udn.unrealengine.com/questions/434516/check-problems-in-shipping.html
#jira none
Change 4113967 by Arne.Schober
RL - The uniformbuffer description is cached in multiple levels for shader compilation. Notable Caches are the ShaderDirectoryFileMapping the MMCP File cache and multiple other smaller file caches along the way. Instead of invalidating those caches I made the Uniform buffer layout completely immutable for all Platform varieties. Differences in lauout are triggered via defines as a progammer would have done it writing the code by hand. THe padding has been unified between GLSL and HLSL padding rules and theoretically work for both of them uniformly.
#jira UE-58707
Change 4113957 by Arne.Schober
RL - The uniformbuffer description is cached in multiple levels for shader compilation. Notable Caches are the ShaderDirectoryFileMapping the MMCP File cache and multiple other smaller file caches along the way. Instead of invalidating those caches I made the Uniform buffer layout completely immutable for all Platform varieties. Differences in lauout are triggered via defines as a progammer would have done it writing the code by hand. THe padding has been unified between GLSL and HLSL padding rules and theoretically work for both of them uniformly.
#jira UE-58707
Change 4113946 by Arne.Schober
RL - Fix issue where force delete materials crashes because the creation order gets out of order
#jira UE-58480
Change 4113936 by Arne.Schober
RL - Fix CPU skin emulation, where the SSE code was unpacking the underlying tangent SNORM data as UNORM
#jira UE-58732
Change 4113881 by Shaun.Kime
Catching up 4.20 to Dev-Niagara as of CL 4111104
Change 4075849 by Wyeth.Johnson
Metadata on location and velocity modules, new DI
Change 4076028 by Frank.Fella
Niagara - Fix an issue where the list of relevant scripts in the shared script view model could get out of sync when changing properties on an emitter such as interpolated spawning and gpu simulation. This could result in an emitter recompiling forever if it started as GPU and was then switched to CPU and then a force compile was requested since it would include the GPU script when determing the compile status, but it would never compile it.
#jira UE-59220
Change 4076925 by Frank.Fella
Niagara - Adding and removing pins from an assignment node wasn't correctly invalidating the graph which I broke with my crash fix 4058428 since I thought the refresh call would do that.
#jira UE-59249
Change 4076971 by Frank.Fella
Niagara - Made few changes to stack issue handling while fixing an issue where the stack error wouldn't change when the compile error changed.
+ Changed the unique identifier for stack issues to be automatically generated from a hash of the combined stack editor data key and the long description of the error.
+ Changed the stack issue unique identifier from an FName to an FString to avoid poluting the name table with lots of generated hash strings.
+ Encapsulated all of the stack issue data to validate the required inputs.
#jira UE-59251
Change 4076974 by Frank.Fella
Niagara - Minor change missed in last checkin.
Change 4076990 by Frank.Fella
Niagara - Fix the assignment node so that it uses a "Begin Defaults" node instead of a regular input node when it's hooking up linked defaults.
#jira UE-59224
Change 4077392 by jonathan.lindquist
Changing pin order
Change 4077426 by Wyeth.Johnson
transform position DI
Change 4077636 by Frank.Fella
Niagara - Fix an issue where the stack function input collection wasn't generating errors correctly due to data being cached between refreshes which became stale.
#jira UE-59269
Change 4078004 by jonathan.lindquist
Submitting progress on a module
Change 4078009 by jonathan.lindquist
changing a variable name in rotate around point
Change 4078043 by Frank.Fella
Niagara - Fix the stack function input so that it cleans up properly when removing pins from assignment nodes, also fix undo for the remove operation.
#jira UE-59271
Change 4078063 by Shaun.Kime
Fixing debug particle data texture usage
#tests n/a
Change 4079110 by jonathan.lindquist
Submitting a cone mask function
Change 4079161 by jonathan.lindquist
Adding a new cone mask module
Change 4079164 by jonathan.lindquist
Adding a description to the cone mask function
Change 4079166 by jonathan.lindquist
Submitting a new cone mask dynamic input
Change 4079988 by Yannick.Lange
Set persistend guid for if node input pins on creating a new output pin.
Change 4080531 by jonathan.lindquist
New cone based mask for curl noise contributions. Additional meta data descriptions for other inputs.
Change 4080541 by jonathan.lindquist
Exposing the cone axis variable
Change 4080544 by jonathan.lindquist
One more meta data tweak :D
Change 4081107 by Shaun.Kime
Fixing underlying GPU collision system after Rendering refactored to use the FSceneTexturesUniformParameters instead of individual textures. Note that GPU collision only works with the primary back buffer. We will need more work to support split-screen or PIP.
#tests Collsion test GPU now is functional, but we still get a few nondeterministic strays in different directions keeping me from turning it on at the moment
Change 4081111 by Shaun.Kime
Updating the compile GUID because the previous change adjusted generated code
#tests n/a
Change 4081231 by Shaun.Kime
Allowing several descriptions to be multiline, accessible by Shift + Enter.
#tests created descriptions for both module fields and modules themselves that were multi-line. confirmed UI was correct.
Change 4081552 by Jonathan.Lindquist
Additional tooltips/documentation
Change 4081566 by Jonathan.Lindquist
Changing split linear color's pin order
Change 4081646 by Shaun.Kime
Added tooltips to the parameter map get and set nodes that should grealy improve understanding.
#tests n/a
Change 4082769 by Yannick.Lange
Pins and parameters unique name on creation
Change 4082792 by Yannick.Lange
Fix: Adding a property pin to a Niagara Module Script map node creates a duplicate of that property in the Properties menu
#jira UE-58823
Change 4082851 by jonathan.lindquist
Ensuring that the latest version of this content is available for Simon
Change 4082875 by Yannick.Lange
Parameter, source and dest pins of a parameter map node have a subcategories. Only pins with the parameter subcategory will be found by the graph.
#jira UE-57692
Change 4083076 by Wyeth.Johnson
Gnomon asset for example content
Change 4083783 by Frank.Fella
Niagara - Fix issues with drag/drop
+ Don't allow the user to drop a module if the usage flags of the target script aren't supported.
+ Allow dragging to different scripts event if they are in different graphs, or different emitters.
+ Transfer rapid iteration paramters correctly when moving modules between scripts.
+ Fix undo for rapid iteration paramters when undoing a move.
#jira UE-59340
#jira UE-59401
Change 4083999 by Bradut.Palas
Improved functionality of module dependencies: intercategory module dependencies now work, module order is fixed.
#tests none
#jira UE-58200
Change 4084002 by Shaun.Kime
Validating modules reads and writes.
You cannot read/write from particles namespace in system and emitter scripts
You cannot write to user or NPC namespaces ever
You cannot write to system/emitter namespaces in particle scripts
#tests auto-tests pass
Change 4084419 by jonathan.lindquist
Changing default texture assignments to work with the new project directory.
Change 4084595 by jonathan.lindquist
Submitting a new material that will generate a 3d sphere on a sprite using world position offset and pixel depth offset.
Change 4084603 by Jonathan.Lindquist
New thumbnail
Change 4084607 by jonathan.lindquist
Submitting final variable settings for the skeletal mesh reproduction particle system
Change 4084649 by jonathan.lindquist
Finalizing sampling mesh code after exploring multiple approaches.
Change 4084746 by Frank.Fella
Niagara - When creating the render state in the niagara component, also send the dynamic data the same frame since the emitter might not actually tick the next frame.
#jira UE-57696
#tests engine tests.
Change 4085536 by Yannick.Lange
Fix assert attempting to add a Niagara emitter parameter to a system before tracking an emitter.
Also passes all graphs to the add button, to avoid any use of Graphs[0] in SNiagaraParameterMapView.
#jira UE-58832
Change 4085757 by Yannick.Lange
Prevent circular connections when trying to connect pins
#jira UE-55541
Change 4086086 by Bradut.Palas
Fixing static code analysis issues by moving the RefreshIssues call inside the FunctionCallNode nullcheck
#tests none
Change 4086155 by jonathan.lindquist
Updating meta data etc.
Change 4086965 by Olaf.Piesche
Fixing uniform buffer alignment and padding to 16 bytes for all vector types; bumping vec2 and vec3 uniforms to vec4, and adding component mask to code chunk for accesses to uniform chunks according to their initial type
OpenGL requires this since because adherence to the std140 memory layout is shaky at best when it comes to sub-16-byte vector types
Change 4086968 by Olaf.Piesche
Making division by 0xFFFFFFFF explicitly unsigned, because OpenGL otherwise assumes it's a signed int, just dividing by -1
Change 4086975 by Frank.Fella
Niagara - Renderer update fixes.
+ Trigger data object changed when adding, removing, and changing the enabled state of renderers so that the simulation updates.
+ Fix undo for changing the enabled state on renderers.
#jira UE-57696
#jira UE-59390
Change 4087008 by Frank.Fella
Niagara - When refreshing the sequencer tracks in the emitter/system editor don't set sequencer the time to 0. This fixes an issue where modifying data in the timeline and undo would reset the time to 0 when paused rather than resimulating.
#jira UE-59463
Change 4087030 by Shaun.Kime
Fixing when you can create certain pin types to prevent invalid types from appearing in the list.
#tests autotests pass on PC
Change 4087271 by jonathan.lindquist
Adding an option to clamp particles.velocity's magnitude.
Change 4087279 by Wyeth.Johnson
Comments and dependencies
Change 4087333 by Wyeth.Johnson
Bitmask useage flags on forces to adhere to standards, plus dependencies
Change 4087636 by Wyeth.Johnson
Age related dependencies on update modules
Change 4087702 by Shaun.Kime
Getting translation set up for Frank's rapid iteration parameter rework in support for default dynamic inputs
#tests n/a
Change 4087992 by jonathan.lindquist
Adding a limit force module
Change 4088872 by Yannick.Lange
Fix renaming variables will not work if the user is only changing capitalization.
#jira UE-59119
Change 4088891 by Yannick.Lange
Fix adding a new attribute makes it hidden in the attribute spreadsheet. Now shows the added attribute when doing a new capture.
#jira UE-57167
Change 4089072 by Yannick.Lange
Reorder parameter list categories
Change 4089164 by jonathan.lindquist
Adding a velocity clamp feature and an acceleration clamp
Change 4089953 by Bradut.Palas
Disabled modules no longer display errors.
Also, enabling/disabling modules is now registered with the Undo system
Also fixed the GUID generation for all issues, now issues are properly differentiated from each other on refresh.
#tests none
Change 4090194 by Shaun.Kime
Fixing auto tests after acceleration force defaulted to world instead of local
#tests all pass
Change 4090195 by Shaun.Kime
Cleaning up UI for code view
#tests n/a
Change 4090198 by jonathan.lindquist
Setting the fallback vector to 0,0,0
Change 4090430 by jonathan.lindquist
Removing a reciprocal operation from the node. Now we use a single divide. Also, I added another length calculation to provide the proper length of the input fallback vector. This is important for cases in which the user specifies that the fallback vector should be 0,0,0 or another unnormalized value. Previously, the fallback vector length always returned 1.
Change 4090512 by Shaun.Kime
Fix for crash during Jonathan's deletion of the Set node in SolveForcesInVelocity.
#tests n/a
Change 4090534 by jonathan.lindquist
New acceleration limit
Change 4090676 by Olaf.Piesche
GPU Spawning auto test
Change 4090770 by Shaun.Kime
Curl noise bug test case
Change 4090796 by Olaf.Piesche
Added missing abs for GPU sim
Change 4091368 by Bradut.Palas
Also removing issues from disabled input collections and renderer items
#tests none
Change 4091417 by Simon.Tovey
Making emitter local space a constant embeded directly into emitter and particle scripts.
Allows a lot of optimization and exposes the value to emitter scripts properly.
Change 4091727 by jonathan.lindquist
Exposing delta time as an advanced input and organizing the graph
Change 4091788 by Bradut.Palas
#jira UE-54678 fIxing issues with refresh of skeletal mesh details
#tests none
Change 4092040 by Frank.Fella
Niagara - Fix some issues with modify, transactions, and change ids which was causing assets to be dirty or modified on load, or were allowing internal operation to be undone.
+ Move some transactions from public utility functions into private functions called by menu items in the UNiagaraNodeWithDynamicPins.
+ Prevent a few modify calls in UNiagaraEmitter from marking the package dirty since they're sometimes called as a result of compiling and in the other cases earlier modifies would have already marked the package dirty.
+ In the system view model, don't create transactions when adding an emitter if the system view model is in emitter asset mode since the user should be able to undo it.
+ In the system toolkit when opening an emitter asset initialize, clean up, and propagate the rapid iteration parameters before copying the emitter to prevent the change ids from getting out of sync after the compile completes.
+ In the system toolkit when trying to see if an emitter has changed using the change ids, use the last synced id from the copied emitter instead of the original emitter since duplicating the emitter can change the id, and there's not way to set it externally.
#jira UE-59517
#jira UE-59566
Change 4092700 by jonathan.lindquist
Removed param groups. We're now using inline bools to enable or disable limits on velocity and acceleration
Change 4093032 by Shaun.Kime
Fixing display of errors
#tests now errors in compilation properly display
Change 4093172 by Shaun.Kime
Curl noise cpu/gpu test map
#tests added last known good
Change 4094156 by Damien.Pernuit
Fixed crash in the editor when opening a Niagara Emitter/Script containing outdated script functions.
Fixed incorrect type cast, FNiagaraFloat instead of FNiagaraInt32.
Change 4094515 by Tim.Gautier
Enabled Niagara + Niagara Extras in QAGame
Change 4094674 by jonathan.lindquist
submitting an example of variable defaults not working as intended
Change 4094712 by Damien.Pernuit
Niagara - Houdini:
Houdini Niagara Data Interface:
- Removed the GetCSVFloatValueByString function as String aren't currently supported by Niagara.
- Particles in the CSV file can now be updated over time (not just spawned)
- Added GetParticlePositionAtTime, GetParticleValueAtTime, GetParticleVectorValueAtTime returning a linearly interpolated value for a given particle at a given time.
- Added GetParticleIndexesAtTime for getting the previous/next row indexes and weight to access the values for a given particle at a given time and handle the interpolation of the values.
- Added GetCSVVectorValue for accessing a Vector value at a given row/col.
Houdini CSV Assets now looks for the following attributes in the CSV "Title" line:
- pos for position.
- id and # for particle ID.
- alive and life for calculating a particles LifeTime.
Change 4094932 by Frank.Fella
Niagara - Fix a few more issues where asset editors would open with their assets modified.
+ Fix rapid iteration parameter preparation so that it doesn't modify the parameter store if it doesn't change after syncing with the graphs and propagating from dependencies. This fixes the emitter editor allowing changes to be applied on open.
+ Refactor the change notification for the script tool kit so that it uses the graph change and property change messages to determine if any changes have been made and can be applied.
#jira UE-59517
#tests auto tests
Change 4094978 by Damien.Pernuit
Niagara - Houdini:
Houdini Niagara Data Interface:
- Since we can now update particles over time, renamed/modified most of the functions to make a clear distinction between row indexes (row) and particle ids (N)
- Replaced GetNumberOfPointsInCSV by GetNumberOfRowsInCSV and GetNumberOfParticlesInCSV
- Renamed GetParticleIndexesAtTime to GetRowIndexesForParticleAtTime and GetLastParticleIndexAtTime to GetLastRowIndexAtTime
- Fixed some DI Functions that were using floats for input parameter instead of using integers.
Change 4095428 by Damien.Pernuit
Niagara - Houdini:
Houdini Niagara Data Interface:
Fixed incorrect behavior of the GetLastRowIndexAtTime and GetParticleIndexesToSpawnAtTime functions due to supporting particle update over time.
Houdini CSV Asset:
Fixed missing UPropery for SpawnTimes and LifeValues array.
Change 4096355 by Damien.Pernuit
Houdini Niagara:
Fixed performance warning for UHoudiniCSV::GetParticleLifeAtTime()
Change 4096419 by Damien.Pernuit
Niagara - Houdini:
Houdini Niagara Data Interface:
Added GetParticleLifeAtTime for accessing a given particle's life at a given time value.
Fixed GetParticleVectorValueAtTime not bound properly.
Fixed GetRowIndexesForParticleAtTime returning incorrect values when the time value was past the particle's last update.
Change 4096466 by Damien.Pernuit
Niagara - Houdini:
- Added GetNumberOfColumnsInCSV to the Houdini Data Interface
- Added descriptions to the functions exposed by the DI
Change 4096528 by Damien.Pernuit
Niagara - Houdini:
Houdini CSV Asset:
- As the DI expects the values to be sorted by time, if it's not the case, the CSV importer will sort them on import.
- As the DI spawning functions relies on the particle IDs starting at zero and increment, the CSV importer will fix the particles IDs on import if it's not the case.
Change 4096838 by Yannick.Lange
Fix focus search box on add parameter menu
#jira UE-59502
Change 4097205 by Bradut.Palas
Fixes for metadata details in script toolkit (now the apply and compile buttons refresh and sort the metadata collection). The metadata functionality is fixed. Delete, add and modify work just as before, but the sorting isn't applied because refreshing the whole collection is skipped for internal changes.
#jira UE-58745
#jira UE-59589
#tests none
Change 4097593 by Shaun.Kime
Now generating compiler debug info for VM shaders just like the rest of Materials using the r.DumpShaderDebugInfo
#tests now properly generate data in a VM folder sibling to other generated debug shader data
Change 4097721 by Frank.Fella
Niagara - Make the lifetime of stack entries well defined so that we can safely remove delegate bindings and clear out pointers.
Change 4097962 by Bradut.Palas
Stack issues now update fix delegates on each refresh, even if the fix GUIDs don't change, to account for other possible changes in the graph. Had to introduce unique identifiers for fixes too, now the issue entry is using the same recycle mechanism for fixes that the base stack entry uses for issues.
#tests none
Change 4098063 by Frank.Fella
Niagara - Fix input initialization for drag/drop with a "Set Variables" node.
#jira UE-57699
Change 4098192 by Damien.Pernuit
Niagara - Houdini:
Houdini CSV Asset:
When importing the CSV file, the importer creates a list of the row indexes updating each particle.
This greatly improves performance when accessing data in large files with a lot of particles updating over time.
Change 4098406 by Damien.Pernuit
Niagara - Houdini:
Houdini Niagara Data Interface:
Added helper functions for accessing Color and Velocity values in the CSV file.
Houdini CSV Asset:
The importer now looks for the Color (Cd, color), Alpha (A, Alpha) and velocity (V) attributes.
Change 4099945 by Frank.Fella
Niagara - Fix op description tool tip and keyword searches in the graph add menu, fix and standardize tool tip handling for script objects in menus, and add support for keyword searches for user defined scripts to match the built in ops.
#jira UE-59402
Change 4100451 by Shaun.Kime
Fixing wyeth's torus error, which was caused by us not properly initializing defaults. We now initialize defaults in three waves in spawn scripts. Wave 1 are any straight up constants at the top of the spawn function. Wave 2 is inlined in spawn just before the function that needs them is called. Wave 3 is at the bottom of spawn in a section called HandleMissingDefaultValues.
Also updated the error and warning messages to be much clearer text.
#jira UE-59723, UE-59762
#tests auto-tests pass
Change 4100568 by Shaun.Kime
Removing the old compile debug file generation and now unified with the existing shader compiler workflow for the future.
If r.DumpShaderDebugInfo=1, make sure that we generate the assembly, ush, and params files in the Saved\ShaderDebugInfo\VM\<SYSTEM_NAME>\<EMITTER_NAME>\<SCRIPT_NAME_AND_USAGE_ID_IF_NONZERO>
#jira UE-59767
#tests auto-tests pass
Change 4100913 by jonathan.lindquist
changing the pin order
Change 4100932 by jonathan.lindquist
setting the input pin order on a, b and alpha
Change 4101546 by jonathan.lindquist
Submitting a dynamic input that returns the exec index as an int
Change 4101734 by Shaun.Kime
Fixing static analysis errors
#tests n/a
Change 4101736 by Shaun.Kime
Creating new last known good for GPU Functional Test auto-test
#tests n/a
Change 4102305 by Simon.Tovey
Fix for VM Crash
#codereivew Frank.Fella, Shaun.Kime, Olaf.Piesche
Change 4102552 by Yannick.Lange
Tooltip variable types
#jira UE-59520
Change 4102599 by Yannick.Lange
New variables in maps or parameter view will get the name Namespace.NewVariable. This is not an actual fix for UE-59633, but gives the user the incentive to rename variables.
#codereveiw Shaun.Kime
Change 4102752 by Yannick.Lange
Fix auto expanding all the sections for the niagara parameters list view.
#jira UE-59121
Change 4102779 by Yannick.Lange
Fix auto expanding all the sections for the niagara parameters list view. Fix incorrect comment changelist: 4102752
#jira UE-59121
Change 4103419 by Shaun.Kime
Fixing build issues
#tests n/a
Change 4103522 by Damien.Pernuit
Houdini - Niagara:
Big renaming pass on the Houdini CSV Assets and Data Interface to follow naming conventions:
Replaced the GetCSVXXX functions by GetXXXX (GetCSVPosition is now GetPosition)
Always use "row" instead of "line", "Point" instead of "Particle", "PointID" instead of "N" or "ID" etc.
Houdini Data Interface:
- Added the GetVectorValueEx and GetPointVectorValueAtTimeEx functions that allow the user to decide how the vector conversion from houdini to unreal's coordinate system is handled.
- Replaced the GetParticleLifeAtTime function by GetPointLife, that returns the life of a particle at spawn time.
- Added the GetPointType function returning the type of a given point.
Houdini CSV Asset:
- Added the editable SourceTitleRow UProperty.
Editing this will trigger a reimport of the source CSV file and might be used to fix/modify column titles in the file.
- Added support for "type" attributes.
- Removed the unused StringValues buffer and GetCSVStringValues() functions.
- Added assetTags so the Houdini CSV asset thumbnails show more infos on the CSV data.
- Added the "FindSourceCSV" asset action to browse to the source CSV file.
Change 4104008 by Shaun.Kime
Missing header in Monolithic builds
Fixed indent issues, was using spaces vs tabs
#jira UE-59705
Change 4105249 by Simon.Tovey
Fixes in VMM backend and propagation visitors to ensure proper optimization for VM external function calls.
also adding a visitor to strip empty stats scopes.
Change 4105250 by Simon.Tovey
Updated windows binaries for hlslcc
Change 4105283 by Yannick.Lange
Fix creating an input parameter node from an input pin.
#jira UE-57362
Change 4105509 by Yannick.Lange
Fix being able to drop parameters in the system view on incorrect execution categories.
Change 4105726 by Wyeth.Johnson
Fix detection of valid toolchain directories with Visual Studio 2017 desktop (change by Ben.Marsh)
Change 4105727 by Shaun.Kime
Fixing nightly build due to missing GetAssetTags definition due to mismatches in WITH_EDITORONLY_DATA
#tests n/a
Change 4106034 by Damien.Pernuit
Houdini-Niagara:
Houdini CSV Asset:
- Fixed build break due to GetAssetRegistryTags()
- Replaced the different hardcoded ColumnIndexes member variables by an array.
Change 4106254 by Frank.Fella
Niagara - Fix playback issues where completed systems wouldn't simulate again until you pressed play.
#jira UE-58616
#jira UE-58721
Change 4106617 by Frank.Fella
Niagara - Prevent crash on shutdown.
#jira UE-59516
Change 4106623 by Frank.Fella
Niagara - Fix static analysis warning for posible null dereference in UNiagaraScriptItemGroup
Change 4106988 by Shaun.Kime
Resaved test assets with latest non-zero version
#tests cooking no longer complains about file versions
Change 4106992 by Shaun.Kime
Now when errors appear in a cook for Niagara GPU shaders, we see them in the same location as the cook log
#tests n/a
Change 4108852 by Simon.Tovey
Fix for transforms in emitter scripts.
Param->Dataset bindings weren't handling structs correctly.
Change 4109260 by Wyeth.Johnson
Normalize Vector dynamic input
Change 4109748 by Marcus.Wassmer
olaf.piesche: Fresh build of hlslcc for Mac
Change 4110624 by Rolando.Caloca
-fresh build of hlslcc for Linux
-fixed a warning in NiagaraStackModuleItem.cpp
Change 4111103 by Shaun.Kime
Fixing nightly build issues with redundant left and right side of &&
CI Issue:
d:\build\++ue4+dev-niagara+compile\sync\engine\plugins\fx\niagara\source\niagaraeditor\private\viewmodels\niagarasystemviewmodel.cpp(1425): warning V501: There are identical sub-expressions 'bStartedPlaying == false' to the left and to the right of the '&&' operator.
#tests auto-tests pass
Change 4111104 by Shaun.Kime
Fix for CI issue:
d:\build\++ue4+dev-niagara+compile\sync\engine\plugins\fx\niagara\source\niagaraeditor\private\viewmodels\stack\niagarastackscriptitemgroup.cpp(553): warning V595: The 'SourceModuleItem' pointer was utilized before it was verified against nullptr. Check lines: 553, 554.
#tests auto-tests pass
Change 4113839 by Ryan.Vance
#jira UE-59992
Enables mobile multi-view for translucent objects.
Change 4113461 by Lina.Halper
Fix build error
#jira: none
Change 4113429 by Brandon.Schaefer
If we are using the native bundled toolchain set LC_ALL=C to avoid locale issues
#jira UE-59416
Change 4113369 by Mitchell.Wilson
Removing bShouldBeLoaded from CinematicPrestreamer BP. The base class ignored the bShouldBeLoaded value, so it was moved out of the class.
#jira UE-59944
Change 4113181 by Phillip.Kavan
Add missing Bookmarks command in macro and interface editors.
- Mirrored from //UE4/Dev-Framework (4113177).
#jira UE-58623
Change 4113010 by Marcin.Undak
Audio: immediately stop sounds when destroying it's data
#jira UE-59823
#jira UE-59593
Change 4112968 by Phillip.Kavan
The Blueprint editor Bookmarks tab now updates when switching to a new graph tab, when showing only the current graph context.
- Mirrored from //UE4/Dev-Framework (4112217).
#jira UE-58588
Change 4112934 by Martin.Wilson
Extra logging for marker sync issue
#jira UE-54705
Change 4112932 by Arciel.Rekman
Vulkan: disable unused device features (UE-59930).
#jira UE-59930
(Edigrating CL 4111492 from Dev-Console to Release-4.20)
Change 4112927 by paulo.souza
ARPG - Fixes impact pause effect not working
#jira UE-59906
Change 4112877 by Mitchell.Wilson
Saving assets to resolve empty engine version warnings.
#jira UE-59947
Change 4112830 by Lina.Halper
Fix issue with displaying class that is in transient due to mid compilation
#jira: UE-58936
Change 4112821 by Lina.Halper
Merging using Dev-Anim_Release-4.20
Fix on changing hierarchy transform
#jira: UE-59964
Change 4112799 by Lina.Halper
#DUPEMERGE
Fix issue with a huge scale of root causing retarget to create invalid transform
#jira: UE-58837
Change 4112795 by Lina.Halper
#DUPE MERGE
- Fix issue where keep state not working properly when montage is used for sequencer because montage is advancing and blends out automaticaly
- added option to "auto blend out" so that we can disable it.
#jira: UE-59049
Change 4112790 by Martin.Wilson
Make sure bone references are up to date on update (skeletal control nodes can crash otherwise)
#Jira UE-56395
Change 4116663 by Andrew.Grant
Fix VirtualCamera plugin no longer working and some RemoteSession tweaks
- Channel selection now done programatically by VirtualCamera plugin
- VirtualCamera no longer creates as ARCameraChannel (wasn't used, and interefered with tracking).
- Fixed missing object references in RemoteSessionApp
- Added some missing devices to UE4Game provisioning file.
#jira UE-59478
#tests Tested RemoteSession in VirtualCameraSample
Change 4116464 by Andrew.Grant
Moved Gauntlet Plugin out of NFL and into experimental folder
#jira UE-59937
#tests Compiled ElementalDemo
#lockdown Nick.Penwarden
#rb none
#ROBOMERGE-SOURCE: CL 4122701 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
#ROBOMERGE-OWNER: jason.bestimt
[CL 4122839 by ben marsh in Dev-VR branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3774677 by Arne.Schober
DR - Deprecated SetLocal from the RHICmdlist
Fixed some unnecessary PSO collisions.
Change 3809579 by Chris.Bunner
Back out changelist 3774677.
#jira UE-53483
Change 3810363 by Mark.Satterthwaite
More random fixes to mtlpp: most important is the extension to Buffer that allows creation of sub-buffers that are merely views onto a sub-range of the parent. These sub-buffers are valid to use throughout the mtlpp API with two exceptions: they may not be used for visibilityResultsBuffers and Set*BufferOffset functions cannot take this offset into account (as the encoder does not hold onto the buffers and I don't want it to). In the case of Set*BufferOffset the caller has to know what is going on and in the case of visibilityResultsBuffers it'll just assert as it isn't sensible.
This makes it *much* easier to do things like sub-buffer allocation, though the caller must be aware of the alignment restrictions of their intended usage as they are not possible to enforce. For example, a call to SetVertexBuffer requires an offset alignment must match the alignment of the data-type in the shader for "device" resources, or for "constant" data it must be max(4, sizeof(datatype)) on iOS and 256 on macOS. This should allow for much more tightly packed sub-allocations than earlier approaches, though older drivers (e.g. Mac OS X 10.11) enforce only the coarser "constant" data restriction everywhere.
Change 3810407 by Marcus.Wassmer
PR #4322: ShadowSetup Bug Fix: Only stencil mask drawn meshes (Contributed by DSDambuster)
Change 3810676 by Guillaume.Abadie
Makes r.Test.SecondaryUpscaleOverride work with any arbitrary pixel size.
Change 3810696 by Guillaume.Abadie
Adds support for #include "../MyFile.ush" in the shader compiler.
Change 3810698 by Guillaume.Abadie
Implements enum class based shader permutation dimension.
Change 3810699 by Guillaume.Abadie
Implements Diaphragm DOF ground work.
Change 3811536 by Guillaume.Abadie
Pulls the trigger on CircleDOF's setup pass for DiaphragmDOF.
Change 3811958 by Mark.Satterthwaite
More fixes for mtlpp.
Change 3811964 by Mark.Satterthwaite
Only views onto a mtlpp::Buffer should return a valid parent-buffer.
Change 3812604 by Guillaume.Abadie
Changes Diaphragm DOF's source file layout.
Change 3812827 by Mark.Satterthwaite
More missing/broken functionality in mtlpp fixed and fixed obvious leaks.
Change 3812920 by Guillaume.Abadie
Adds support for per mip level UAV in FSceneRenderTarget.
Change 3812926 by Mark.Satterthwaite
Change the way we handle mtlpp resource construction to avoid leaks.
Change 3812960 by Rolando.Caloca
DR - vk - Disable DFGI
Change 3812968 by Rolando.Caloca
DR - Linker fix
Change 3813318 by Mark.Satterthwaite
Fix linear texture allocation from a buffer sub-view.
Change 3813326 by Mark.Satterthwaite
Fix another Metal mtlpp sub-buffer allocation failure.
Change 3813328 by Guillaume.Abadie
Removes global samplers in TAA for GL4, Vulkan and Switch.
Change 3813937 by Rolando.Caloca
DR - Fix logs not getting dumped when r.DumpSCWQueuedJobs is on
Change 3813947 by Rolando.Caloca
DR - noshaderworker should override r.XGEShaderCompile
Change 3817017 by Uriel.Doyon
Fixed texture editor black screen
#jira UE-53653
Change 3818568 by Rolando.Caloca
DR - Fix log when shader jobs crash
- Move log10 to common
- Added COMPILER_VULKAN define
Change 3818603 by Uriel.Doyon
Fix to static analysis warning
Change 3818623 by Rolando.Caloca
DR - Workaround hlslcc loop unrolling bug
Change 3819070 by Uriel.Doyon
Fix to stat duplication.
Change 3819105 by Uriel.Doyon
Refactored volume sample shader to avoid using texture dimension.
Change 3819136 by Rolando.Caloca
DR - vk - Per platform files (empty)
Change 3819180 by Rolando.Caloca
DR - vk - Move defines out of config into per platform
Change 3819247 by Rolando.Caloca
DR - vk - Remove more defines into platform settings
Change 3819318 by Rolando.Caloca
DR - vk - Fixes for linking
Change 3819868 by Rolando.Caloca
DR - vk - Linux & Android fixes
Change 3819873 by Guillaume.Abadie
Adds support for PermutationId on r.DumpShaderDebugInfo=1
Change 3819940 by Rolando.Caloca
DR - vk - Fix Linux issues
Change 3819956 by Rolando.Caloca
DR - vk - Invalid check
Change 3819961 by Michael.Lentine
Hide attributes when plugin is not present
Change 3819980 by Rolando.Caloca
DR - vk - Standard validation always
Change 3820039 by Rolando.Caloca
DR - vk - Fix invalid ensure
Change 3820326 by Rolando.Caloca
DR - vk - Linux compile fix
Change 3820422 by Michael.Lentine
Add back GBufferAO.
Change 3820433 by Rolando.Caloca
DR - Fix D3D12 crash on 20 thread (10x2 cores) machines
Change 3821677 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3821961 by Rolando.Caloca
DR - Vulkan uses real UB by default on non-Android
Change 3821968 by Rolando.Caloca
DR - vk - Update glslang 1.0.65.1
Change 3821969 by Uriel.Doyon
Added support for stat groups that must be sorted by name. Defined by DECLARE_STATS_GROUP_SORTBYNAME.
Change 3821983 by Rolando.Caloca
DR - vk - Change to static array (0.1ms on 10k draw calls)
Change 3824141 by Rolando.Caloca
DR - vk - Fix static analysis
- Bumped up some (c) 2017->2018
Change 3824355 by Rolando.Caloca
DR - vk - Accessor to find out if a cmd buffer has been submitted
Change 3824420 by Rolando.Caloca
DR - Sanity check number of queries per batch on D3D11 as to not break other RHIs
Change 3824463 by Rolando.Caloca
DR - Removed dummy ensure for D3D12
Change 3824609 by Rolando.Caloca
DR - vk - Linux compile fix
Change 3826074 by Mark.Satterthwaite
Start IMP-caching the various descriptor types in mtlpp.
Change 3826098 by Rolando.Caloca
DR - vk - Dump layer compile fixes
Change 3826113 by Rolando.Caloca
DR - vk - Missing dump functions
Change 3826302 by Rolando.Caloca
DR - vk - Compile fix
- Change dump handles to %p
Change 3826635 by Mark.Satterthwaite
Forward declarations required for mtlpp compilation without exposing Metal headers - plus fixes to the mtlpp test compiler.
Change 3827072 by Mark.Satterthwaite
Switch some more mtlpp descriptors over to IMPTables from objc_msgSend.
Change 3827909 by Guillaume.Abadie
Replaces diaphragm DOF's prefiltering with LDS bank coherent bilateral reduction, and implements 1/8 res background gathering pass.
Change 3827952 by Guillaume.Abadie
Updates copy right to year 2018 on diaphragm DOF's new files.
Change 3828055 by Rolando.Caloca
DR - vk - Rename in prep for changes
Change 3828229 by Guillaume.Abadie
Avoids to log multiple time global shader type name that have multiple permutations when verifying global shader map.
Change 3828427 by Guillaume.Abadie
Reimplements Max3x3 gathering post filtering for Diaphragm DOF with proper shader permutation.
Change 3829979 by Guillaume.Abadie
Fixes a color NaN source in diaphragm DOF's TAA pass.
Change 3830116 by Rolando.Caloca
DR - vk - Fix GPU queries/frame time on old system
- New system in place, disabled temporarily
Change 3830169 by Rolando.Caloca
DR - vk - Fix async pso creation crash
Change 3830193 by Rolando.Caloca
DR - vk - CPU RHI thread improvement
Change 3830291 by Guillaume.Abadie
Automatically lower the number of gathering rings on background half res gather pass as far CoC is getting smaller.
Change 3830300 by Rolando.Caloca
DR - vk - Static analysis fix: Split VulkanCommon.h out of VulkanConfiguration.h
Change 3830589 by Mark.Satterthwaite
In mtlpp cache the IMPTables for all the Metal @protocol's that are dependent on the MTLDevice, this avoids a mutex & map lookup. Also make all the concrete types store their IMPTable statically as it won't change.
Change 3830793 by Mark.Satterthwaite
Fix a small number of bugs introduced with the mtlpp descriptor and table caching.
Change 3831491 by Jian.Ru
Fix driver version unknown
#jira UE-53688
Change 3832335 by Rolando.Caloca
DR - vk - Change include
Change 3832550 by Rolando.Caloca
DR - vk - Occlusion query rewrite WIP
Change 3832589 by Rolando.Caloca
DR - vk - Minor refactor to pools in prep for timestamps
Change 3832618 by Rolando.Caloca
DR - vk - Do not block timestamp queries
Change 3832636 by Rolando.Caloca
DR - vk - Fix old timestamp queries
Change 3833138 by Rolando.Caloca
DR - vk - Fix timestamp queries
Change 3833249 by Rolando.Caloca
DR - vk - Test lock
Change 3833667 by Rolando.Caloca
DR - vk - Old queries wait on the RHI thread now instead of the driver (disabled)
Change 3833907 by Daniel.Wright
Fixed NextStartOffset UAV index out of bounds
Change 3833918 by Daniel.Wright
D3D12 RHI: only refcount uniform buffers if GRHINeedsExtraDeletionLatency is false, which is no longer the case for PC or Xbox. The refcounting was heavy on performance as reported by a licensee because FRHIResource uses atomics for refcounting, which is only necessary when GRHINeedsExtraDeletionLatency is disabled.
Change 3834852 by Rolando.Caloca
DR - vk - Missing file
Change 3834858 by Guillaume.Abadie
Implements r.DOF.MinimalFullresBlurringRadius
Change 3834979 by Rolando.Caloca
DR - vk - Fix
Change 3836117 by Rolando.Caloca
DR - vk - Update to 1.0.65.1
Change 3836122 by Rolando.Caloca
DR - vk - Added r.Vulkan.SubmitOcclusionBatchCmdBuffer
- Added new error codes/messages
Change 3836421 by Mark.Satterthwaite
For the purposes of debugging and conformance testing mtlpp make it possible to compile *without* the IMP cache so that we call the underlying Objective-C.
Change 3836896 by Uriel.Doyon
Fixed concurrency and exit issues around d3d12 pipeline states on windows.
Change 3837385 by Rolando.Caloca
DR - vk - Dump memory on OOM
Change 3837427 by Rolando.Caloca
DR - vk - Change some arrays to array views
Change 3837800 by Guillaume.Abadie
Implements SHADER_PERMUTATION_RANGE_INT to make contiguous integer permutations that does not start to 0.
Change 3838128 by Rolando.Caloca
DR - vk - Support for non-cached memory types
Change 3838540 by Guillaume.Abadie
Refactors Diaphragm DOF's CoC tile buffer under a single API for better maintainability.
Change 3838731 by Rolando.Caloca
DR - vk - Descriptor pools per command buffer pool (turned off)
Change 3838961 by Rolando.Caloca
DR - vk - Use ring buffer for per frame uniform buffers
- Enable descriptor pools per layout recycled per command buffer
Change 3839087 by Rolando.Caloca
DR - vk - Compile fixes for Android
Change 3839106 by Marcus.Wassmer
PR #4413: Removing unnecessary call to FString::ToLower (Contributed by gsfreema)
Change 3839252 by Mark.Satterthwaite
Fix mtlpp::Resource move operators.
Change 3839426 by Marcus.Wassmer
Duplicate 380972
Make PC GPU Benchmarks more reliable
Change 3840041 by Guillaume.Abadie
Fixes shader compilation failure in TAA with alpha channel through post processing support.
Change 3840257 by Chris.Bunner
Swapping a mul() to * in HLSLTranslator::Dot to allow scalar transformations per a UDN ticket.
Change 3840308 by Rolando.Caloca
DR - vk - Support for UB & non-UB on emulation mode
Change 3840586 by Rolando.Caloca
DR - Copy 3840577
Fix for CPUs with more than 16 cores
Change 3840671 by Rolando.Caloca
DR - vk - Copy from 3840663
Fix for layout ensure on HMD projects on Vulkan
Change 3840980 by Rolando.Caloca
DR - vk - Android compile fixes
Change 3841989 by Guillaume.Abadie
Slices Diaphragm DOF's Gather pass in multi shader files, and CFLAG_StandardOptimization flag for faster iteration time.
Change 3842216 by Guillaume.Abadie
Fixes DDOF's foreground alpha channel.
Change 3842217 by Guillaume.Abadie
Implements r.DOF.MaximalForegroundBlurringRadius
Change 3842353 by Guillaume.Abadie
Allows to disable foreground gathering with r.DOF.MaximalForegroundBlurringRadius=0
Change 3842747 by Rolando.Caloca
DR - vk - Missing use of GPoolSizeVRAMPercentage
- Support for smaller allocations if page size is not available
Change 3842791 by Rolando.Caloca
DR - vk - Use 95% of available GPU memory to handle some fragmentation
Change 3843690 by Guillaume.Abadie
Fixes diaphragm DOF's foreground after all this refactoring.
Change 3844439 by Guillaume.Abadie
Improves Coc dilate pass to make the gather pass as fast as possible, but still without artifacts caused by the fast gathering optimisation.
Change 3844946 by Mark.Satterthwaite
rd_route v1.1.1 with attached TPS approval.
For macOS function interposition which is useful for debugging and the occasional workaround.
Change 3845164 by Mark.Satterthwaite
Add LLM support for macOS, including tracking of memory allocated in Objective-C. This makes use of runtime method swizzling in the Objective-C runtime and the rd_route library I added for Richard Wallis, which allows for arbitrary runtime function interposition and allows me to hook the custom allocators used in Apple's many Objective-C frameworks on which the whole macOS edifice is built. Objective-C objects are charged to the calling scope as they are too common to impose their own without murdering frame rate.
We would need a TPS approval for an iOS function interposition library for this to work fully on iOS, if desired in the short term discarding LowLevelFree events that aren't in the map rather than asserting will workaround the problem.
Change 3845849 by Marcus.Wassmer
Fix clang and some normal refactor errors
Change 3846026 by Rolando.Caloca
DR - vk - Descriptor set allocation scheme rewrite
- Type hash for each pool
- Desc sets Pool on device
Change 3846169 by Rolando.Caloca
DR - vk - Remove old code for non-layout descriptor set pools
Change 3846205 by Mark.Satterthwaite
Disambiguate the PatchControlPointOut struct definitions in Metal tessellation shaders at Apple's suggestion to avoid a metallib gotcha.
Change 3846346 by Arne.Schober
DR - Missing Vector instructions
Change 3847037 by Arne.Schober
DR - Fix issue with GPU skincache where the offset of the clothbuffer is not relative to the offset of the actual vertexbuffer.
Fixed MorphTarget Skincache Offset mixxup
Change 3847275 by Marcus.Wassmer
Copying MGPU to Dev-Rendering (//UE4/Dev-Rendering)
Change 3847464 by Rolando.Caloca
DR - vk - Fix static analysis warning
Change 3847707 by Michael.Lentine
Only use MorphTargetOffset when the shader enables morph targets.
Change 3848533 by Richard.Wallis
Handle Metal adding FirstInstance into [[ instance_id ]] which is different to other APIs. SV_InstanceID and SV_VertexID should now have their respective base instance and base vertex ID's subtracted before use in the shader.
#jira UE-51716
Change 3848625 by Richard.Wallis
Compile Fix
Change 3848725 by Rolando.Caloca
DR - Remove use of Build/SetLocalGraphicsPipelineState
Change 3848797 by Rolando.Caloca
DR - Deprecate Build/SetLocalGraphicsPipelineState
Change 3849237 by Arne.Schober
DR - AddCustom Ver for ModelVertex Serialization
Change 3851247 by Rolando.Caloca
DR - vk - Util functions
Change 3851523 by Arne.Schober
DR - Update Reflection Comparission shot from the BuildFarm.
Change 3851859 by Rolando.Caloca
DR - vk - Skip loader
Change 3851889 by Krzysztof.Narkowicz
Removed lights with lighting channels out of tiled deferred light list. Tiled deferred lights do not support lighting channels and it's wasn't worth to add extra complexity to this shader in order support this special case.
#jira UE-51512
Change 3852181 by Rolando.Caloca
DR - vk - Linux compile fix
Change 3852547 by Uriel.Doyon
Fixed Pre-Exposure shader compilation and Temporal AA issue.
#jira UE-54276
Change 3852637 by Arne.Schober
DR - Fixing Normal Automated Test Result
Change 3853167 by Richard.Wallis
AvfPlayer - support for streaming media. Due to an operator new/delete mismatch in Apples CFNetwork - we've had to change out one of that framework allocators using rd_route to avoid the memory corruption.
#jira UE-35637
Change 3853447 by Chris.Bunner
Fixing typos.
Change 3853645 by Krzysztof.Narkowicz
Fixed light functions on subsurface materials
Removed strange code from blending between static and dynamic shadows
#jira UE-50275
Change 3853660 by Rolando.Caloca
DR - Fix OpenGL overwriting texture samplers on forward renderer
Change 3853945 by Mark.Satterthwaite
Duplicate #3831616
Fix the black ground scattering on Metal - we've had issues with the atmospheric fog calculations for a long time - one or more intermediate operations generates different precision on Metal so we end up passing -ve values into sqrt which then generates NaN/INF. For Metal when compiling this file and this file only #define sqrt() to sqrt(abs()) so that we don't see anymore unexpected black in atmospheric rendering. This is far from ideal but I don't want to make abs all inputs into every sqrt because AFAIK this is the only case where we have an issue, and until we to investigate each intermediate calculation that isn't ridiculously, soul-crushingly tedious, it isn't practical to identify the source of the error.
#jira UE-53720
Change 3853966 by Mark.Satterthwaite
Duplicate #3835852
Fix tessellation shaders in Metal with Manual Vertex Fetch enabled:
- The control points idnex buffer shouldn't collide with anything else.
- We can't use the optimisation of loading texture width & height from the buffer meta-table in tessellation shaders as the combined stages don't guarantee not to clobber unused buffer slots and screw it up when we use linear textures.
#jira UE-53851
Change 3854250 by Uriel.Doyon
Fix fbx automation tests
Change 3854736 by Uriel.Doyon
Added a tooltip to the EV100 slider in the exposure menu.
Using game settings now disables the slider.
#jira UE-53945
Change 3855047 by Jian.Ru
Fix DFAO getting NANs when samples out of ViewRect
#jira UE-54403
Change 3858197 by Krzysztof.Narkowicz
View frustum shadow caster culling for pointlights/spotlights
#jira UE-54381
Change 3860081 by Krzysztof.Narkowicz
Tighter bounding sphere for a spotlight
Replaced IntersectSphere(LightProxy->Origin, LightProxy->Radius) with LightProxy->SphereBounds for tighter culling of spotlights
Directional light GetBoundingSphere() now everywhere returns Sphere((0,0,0),HALF_WORLD_MAX) for consistency and proper SphereBounds
#jira UE-54258
Change 3860324 by Mark.Satterthwaite
Update the macOS deployment target version to 10.12 from 10.11 as we officially ended support for El Capitan a while ago. Should mean that libraries compiled for 10.12 and up won't cause link warnings.
Change 3860945 by Arne.Schober
DR - Fix not releaseing SRV on render thread for FPositionVertexBuffer, FStaticMeshVertexBuffer, FColorVertexBuffer, FStaticMeshInstanceBuffer.
#jira UE-54587
Change 3861129 by Jian.Ru
Prevent distance culled objects from casting distance field direct shadows
#jira UE-54533
Change 3861502 by Jian.Ru
Exclude distance culled objects from DFAO calculation
#jira UE-54533
Change 3862243 by Krzysztof.Narkowicz
Changed radius of a directional light's bounding sphere from HALF_WORLD_MAX to WORLD_MAX in order to encopass entire WORLD_MAX box
Change 3863476 by Krzysztof.Narkowicz
Added BuildReflections option to ResavePackages commandlet
#jira UE-54581
Change 3863717 by Rolando.Caloca
DR - vk - Missed using pipeline cache on compute PSOs
Change 3865332 by Arne.Schober
DR - Fix UE-52356 Bone Weight
Change 3866220 by Rolando.Caloca
DR - vk - Fixed GetNativeResource missing on textures
- Added support for -preferNvidia|AMD|Intel
- Added VulkanRHIBridge.h
- Minor fixes
Change 3866222 by Rolando.Caloca
DR - vk - Missed file
Change 3866951 by Krzysztof.Narkowicz
Fixed FreezeRendering on non editor builds: ComputeAndMarkRelevanceForViewParallel was calling FrozenMatricesGuard on multiple threads, reading and writing view matrices state in parallel.
#jira UE-53640
Change 3867231 by Guillaume.Abadie
Adds alpha mode to allow the tonemapper to passthrough the alpha channel for broadcast industry.
Change 3867233 by Guillaume.Abadie
Fixes a compilation failures in TAAU with r.PostProcessing.PropagateAlpha==2
Change 3867594 by Daniel.Wright
Removed EditorOnlyDefaultMaterials, which added 79s of shader compilation during startup
Added a dialog when opening the Material Editor on a Default Material, warning of advanced workflow
Preventing Material Editor Apply or Save for a Default Material when the preview material has compilation errors
Change 3870048 by Daniel.Wright
Cleaned up formatting in TranslucentRendering from merges
Change 3870106 by Krzysztof.Narkowicz
Fixed some FArchive Tell()/Seek() 64bit->32bit truncations
Change 3870211 by Rolando.Caloca
DR - vk - Added -vulkanvalidation=N/-vulkanstandardvalidation/-novulkanstandardvalidation to set validation layer behaviour from cmd line
Change 3870225 by Rolando.Caloca
DR - vk - Some platforms do not use a standard swapchain
Change 3870267 by Arne.Schober
DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary
Change 3870647 by Daniel.Wright
Moved FogRendering.h to Renderer
Change 3872130 by Krzysztof.Narkowicz
Disable USE_GLOBAL_CLIP_PLANE for MATERIAL_DOMAIN_POSTPROCESS and MERIAL_DOMAIN_UI
Merging GitHub Pull request #4459
"When material domain is not needing global clip plane there is no need to generate any code involving it. This does not alter output but removes lot of code at vertex shader and pixel shaders. At least on mobile rendered was actually generating clipping code for ui materials."
#jira UE-54616
Change 3872145 by Rolando.Caloca
DR - vk - Optional SupportsMarkersWithoutExtension
Change 3872404 by Uriel.Doyon
Added some guards when streaming virtual textures.
Fixed optimized UCanvasRenderTarget2D::RepaintCanvas() to prevent resolving the texture twice.
Fixed bad mipmap generation with UCanvasRenderTarget2D.
Change 3872507 by Arne.Schober
Back out changelist 3870267
Change 3874176 by Ben.Marsh
IncludeTool: Add an flag to prevent scanning source files for exported symbols.
Change 3874935 by Krzysztof.Narkowicz
Fixed white thumbnails and other issues with sky lighting on ES3_1 path, by disabling GGX prefiltering, as mobile path doesn't have a single cubemap with all initialized mips. Instead it ping-pongs between 2 partially initialized.
#jira UE-54656
Change 3875710 by Daniel.Wright
Renamed uniform buffer member macros to be much shorter for readability
Change 3876665 by Guillaume.Abadie
Cherry-pick 3870715: Implements DOF's hybrid scatering bare bones.
Change 3876666 by Guillaume.Abadie
Cherry-pick 3871786: DOF hybrid scatering: fixes NaN source, transition to gather on close to screen edge and low intensity.
Change 3876677 by Guillaume.Abadie
Cherry-pick 3872348: Implements neighbor comparison for DOF's scattering compilation pass.
Change 3876680 by Guillaume.Abadie
Cherry-pick 3872357: Oups... fixes build...
Change 3876683 by Guillaume.Abadie
Cherry-pick 3872475: Controls number of mip to generate with DOF's reduce pass.
Change 3876687 by Guillaume.Abadie
Cherry-pick 3874104: Fixes various bugs in diaphragm DOF's hybrid scattering.
Change 3876690 by Guillaume.Abadie
Cherry-pick 3874144: Packs multiple DOF scattering group into same draw instance.
Change 3876694 by Guillaume.Abadie
Cherry-pick 3874275: Switches hybrid scattering with indexed indirect draw call to reduce scatter vertex shader invocation.
Change 3876695 by Guillaume.Abadie
Cherry-pick 3874674: Records min and max coc on DOF's setup's draw event.
Change 3876783 by Rolando.Caloca
DR - Static analysis fix
Change 3876845 by Guillaume.Abadie
Implements USceneCaptureComponent::ProfilingEventName
Change 3877197 by Rolando.Caloca
DR - vk - OQ fixes (disabled)
Change 3877428 by Krzysztof.Narkowicz
Merged with tiny tweaks Ansel photography plugin improvements from Adam Moss (GitHub pull request #4426):
-The free-roaming photography camera has new constraints by default, i.e. it can't pass through walls
-Photography session can be started and stopped programmatically, e.g. making it possible to bind photography to an alternative hotkey or button combo. This was an often-requested feature.
-Tweakables and utilities are now exposed through a Blueprint Function Library (rather than direct manipulation of console variables)
-The Ansel photography session UI now exposes some engine effect tweakables as sliders. For example, if the game is using depth-of-field then sliders are made available to allow the photographer to change the focal depth etc. The developer may suppress this behavior through the Blueprint Function Library.
-Letterboxing is now removed during multi-part capture, d'oh.
-Tiled shots are taken at full resolution even if ScreenPercentage < 100
-SSR is enabled during super-resolution shots since Ansel is now better at hiding any ensuing artifacts
-Postprocess settings are frozen at session start to avoid discontinuities during photography, i.e. wandering between postprocess volumes when the camera auto-moves for stereo and 360 shots.
#jira UE-54244
#4426
Change 3879086 by Krzysztof.Narkowicz
Fixed sky/reflection capture (without owner) update - they are now updated only with a correspoding world
Change 3879090 by Guillaume.Abadie
Fixes tones of regressions on diaphragm DOF's recombine passes.
Change 3879198 by Rolando.Caloca
DR - vk - Support for real uniform buffers on Android platforms
Change 3879993 by Krzysztof.Narkowicz
-Fixed int64->int32 FArchive offset truncation in TShaderMap, VertexFactory and TextureDerivedData
-Fixed FSerializationHistory bug, when trying to serialize 0 bytes
#jira UE-43203
Change 3881462 by Guillaume.Abadie
Implements full res DOF's setup pass for cheaper full res gathering in recombine pass.
Change 3881524 by Krzysztof.Narkowicz
Fixed compilation by removing FTickableEditorObject from FPreviewScene
Change 3881724 by Chris.Bunner
Static analysis fix.
#jira UE-54762
Change 3881861 by Rolando.Caloca
DR - vk - Fix layout warning when generating mip chain
Change 3881864 by Rolando.Caloca
DR - Use render passes on HZB
Change 3882236 by Yuriy.ODonnell
IndirectLightingColorScale is now applied to SubsurfaceLighting and DiffuseLighting. Was previously only applied to DiffuseLighting.
#jira UE-42534
#github 3326
Change 3882325 by Guillaume.Abadie
Implements FocusOnly lower gathering pass for Diaphragm DOF's slight out focus temporal stability.
Change 3882340 by Rolando.Caloca
DR - vk - Fix api dump
Change 3882430 by Rolando.Caloca
DR - vk - KHR_maintenance2
Change 3882563 by Rolando.Caloca
DR - Add depth-stencil access mode to PSO initializer
Change 3882929 by Rolando.Caloca
DR - vk - Proper fix for maintenance extension macros
Change 3883087 by Mark.Satterthwaite
Allow disabling VSync in windowed mode for macOS 10.13.4+ and above.
Change 3883597 by Guillaume.Abadie
Collapses full and half res DOF setup passes together.
Change 3883702 by Guillaume.Abadie
Fixes mac's build.
Change 3884747 by Uriel.Doyon
Fix for static analysis warning
Change 3884975 by Rolando.Caloca
DR - vk - Move some platform defines to platform properties
Change 3884988 by Rolando.Caloca
DR - vk - Make an override per platform
Change 3885832 by Rolando.Caloca
DR - vk - Cosmetic change to group similar members
Change 3885891 by Rolando.Caloca
DR - vk - Some _RenderThread functions to avoid stalls
Change 3886044 by Rolando.Caloca
DR - Added RHI api _RenderThread version of
RHICreateTextureReference
RHICreateShaderLibrary
RHICreateRenderQuery
Change 3886560 by Guillaume.Abadie
Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
Change 3886749 by Guillaume.Abadie
Cherry-pick 3884748: Implements DOF's BuildBokehLUT for diaphragm blades simulation.
Only used in hybrid scattering for now.
Change 3886750 by Guillaume.Abadie
Cherry-pick 3885457: Simulates diaphragm blades' curvature on bokeh.
Change 3886752 by Rolando.Caloca
DR - Fix metal static analysis
Change 3887460 by Uriel.Doyon
Fixed to more static analysis warning.
Change 3888201 by Rolando.Caloca
DR - vk - Added r.Vulkan.SubmitAfterEveryEndRenderPass
- Fixed bad layout on rendering back buffer
Change 3888209 by Rolando.Caloca
DR - vk - Unity compile fix
Change 3888254 by Rolando.Caloca
DR - vk - Fix async texture layout
Change 3888893 by Guillaume.Abadie
Simulates bokeh in DOF's slight out of focus.
Change 3889085 by Guillaume.Abadie
Fixes DOF's reduce pass sampling outside viewport.
Change 3889924 by Rolando.Caloca
DR - vk - Skip seemingly bad validation error
Change 3890573 by Daniel.Wright
Only initialize FDiaphragmDOFGlobalResource in Feature Level 5
Change 3890590 by Arne.Schober
DR - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890638 by Arne.Schober
DR - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3891099 by Krzysztof.Narkowicz
1.5 texel shadow offset fix inside Manual2x2PCF based on #4485 GitHub pull request
#jira UE-54985
#4485
Change 3891234 by Krzysztof.Narkowicz
Optimized PCF2x2 and PCF3x3 - merged #4494 GithHub pull request
#jira UE-55121
Change 3891407 by Rolando.Caloca
DR - vk - Set vendor id earlier
Change 3891417 by Rolando.Caloca
DR - vk - Missing layout transitions
Change 3891718 by Arne.Schober
DR - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891925 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891987 by Rolando.Caloca
DR - vk - Support for dedicated allocations
Change 3892339 by Jian.Ru
Fix a crash when tessellation shaders are used in dx12
#jira UE-55127
Change 3892528 by Rolando.Caloca
DR - vk - Update Linux headers
Change 3892867 by Rolando.Caloca
DR - vk - Don't create swapchain if not needed
Change 3893416 by Guillaume.Abadie
Implements bokeh simmulation on foreground and background gather.
Change 3893732 by Chris.Bunner
GetRelevance_Internal should use the immediate parent resource, not the base, as some features are overridden by permutations e.g. UsesWorldPositionOffset.
#jira UE-53404
Change 3893868 by Guillaume.Abadie
Allocates diaphragm DOF's buffers and structered buffer only on supported platforms.
Change 3893917 by Chris.Bunner
Potential fix for CIS.
Change 3893933 by Chris.Bunner
Duplicating CL 2647737 as this is the same issue from that JIRA where accessing game-thread data was being prevented. We don't have this check in UMaterial::GetMaterialResource already, but presumably the UMaterialInstance case was never removed as we've not been calling it until now.
Change 3894218 by Rolando.Caloca
DR - vk - Remove stat counters per draw call, gains 10% CPU on Infiltrator
Change 3894579 by Arne.Schober
RT - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894724 by Rolando.Caloca
DR - vk - New API for batching barriers
Change 3894909 by Arne.Schober
DR - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3895414 by Rolando.Caloca
DR - Add a configurable threshold for SCWs time outs
Change 3896429 by Marcus.Wassmer
Allow variable frame-latency delay in FrameGrabber frames. For performance you want at least a 1 frame delay so you don't sync the GPU to the CPU.
Change 3896495 by Marcus.Wassmer
Set pointer properly
Fix CIS
Change 3897253 by Guillaume.Abadie
Fixes CIS warning in diaphragm DOF
Change 3899179 by Guillaume.Abadie
Implements background hybrid scatter occlusion for diaphragm DOF.
Change 3903654 by Rolando.Caloca
DR - vk - Rework dump layer to allow other layers
Change 3903766 by Rolando.Caloca
DR - vk - More wrappers
Change 3904025 by Rolando.Caloca
DR - vk - More wrappers
Change 3904342 by Rolando.Caloca
DR - vk - Track image resources & callstacks
Change 3904346 by Rolando.Caloca
DR - vk - Copy fix from 4.19 for flickering grass
Change 3904510 by Rolando.Caloca
DR - vk - Compile fix
Change 3904914 by Daniel.Wright
[Integrate] Fixed PS4 transitions with forward shading
Change 3904916 by Daniel.Wright
[Integrate] Fixed PS4 transitions with occlusion queries
Change 3905975 by Rolando.Caloca
DR - vk - Missing wrappers
Change 3905977 by Rolando.Caloca
DR - vk - Missed file
Change 3907829 by Rolando.Caloca
DR - Move depth bounds to the PSO
Change 3907832 by Rolando.Caloca
DR - vk - Prep for delaying transitions
Change 3907834 by Rolando.Caloca
DR - vk - Fix for depth stencil issues/validation errors
Change 3907967 by Rolando.Caloca
DR - vk - Linux compile
Change 3908093 by Rolando.Caloca
DR - vk - Fix depthstencil layout on descriptors
Change 3908393 by Rolando.Caloca
DR - vk - Disable dedicated allocation as it causes crashes on Nvidia 700 series
Change 3908401 by Rolando.Caloca
DR - Do transitions outside render pass
Change 3908422 by Rolando.Caloca
DR - vk - Fix transition state not getting stored
Change 3908735 by Guillaume.Abadie
Cherry-pick 3896619: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3908736 by Guillaume.Abadie
Cherry-pick 3891352: Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3908753 by Guillaume.Abadie
Lets the renderer layout the views in the internal render targets like it prefers.
Change 3909119 by Daniel.Wright
Fix some static analysis warnings
Change 3911943 by Rolando.Caloca
DR - vk - Fix for packaging Vulkan projects
Change 3912145 by Rolando.Caloca
DR - vk - Fix layout on streaming textures
Change 3913029 by Rolando.Caloca
DR - Fix missing transition
Change 3913048 by Rolando.Caloca
DR - Fix for hlslcc
Change 3913054 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3913171 by Rolando.Caloca
DR - vk - Fix for decal missing transition
Change 3913211 by Rolando.Caloca
DR - vk - Add debug name to image tracking
Change 3913449 by Rolando.Caloca
DR - vk - Restore transition
Change 3913466 by Rolando.Caloca
DR - Fix Vulkan EngineTest
Change 3913537 by Rolando.Caloca
DR - vk - Fixes independent samplers & textures (contributed by AMD)
Change 3913548 by Rolando.Caloca
DR - vk - Warning fix
Change 3913691 by Rolando.Caloca
DR - vk - Fixes for parallel (wip)
Change 3914656 by Rolando.Caloca
DR - vk - Fix bug when using separate samplerstates and textures
Change 3914730 by Rolando.Caloca
DR - vk - Bump version
Change 3914764 by Rolando.Caloca
DR - vk - Don't crash on exit
Change 3915532 by Rolando.Caloca
DR - vk - Parallel context fixes
Change 3915589 by Rolando.Caloca
DR - vk - Hoist and rename transition and layout manager class out of the context
Change 3915592 by Rolando.Caloca
DR - Fix gpu marker name
Change 3917607 by Rolando.Caloca
DR - vk - Fix depth bounds on Vulkan
Change 3917609 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3917616 by Rolando.Caloca
DR - Fix D3D11 initialization
Change 3920569 by Rolando.Caloca
DR - vk - Prep for layout mgr refactor
Change 3921023 by Rolando.Caloca
DR - vk - Dump layer fixes
Change 3921623 by Rolando.Caloca
DR - vk - Prep refactor for layouts
- Dump now shows marker tree
Change 3922007 by Rolando.Caloca
DR - vk - Fix extra allocation per draw call
Change 3922442 by Rolando.Caloca
DR - vk - Detect potential issues
Change 3922470 by Rolando.Caloca
DR - vk - Minor optimization
Change 3922482 by Rolando.Caloca
DR - vk - More minor optimizations
Change 3923158 by Rolando.Caloca
DR - Move r.DisableEngineAndAppRegistration out to common RHI and use it on Vulkan
Change 3923486 by Rolando.Caloca
DR - vk - Minor cpu optimizations
Change 3923505 by Rolando.Caloca
DR - vk - Use bigger allocations for uniform buffers
Change 3923516 by Rolando.Caloca
DR - vk - Android compile fix
Change 3923557 by Rolando.Caloca
DR - vk - Cache descriptorset layouts, refactor duplicated code
Change 3923851 by Rolando.Caloca
DR - vk - Linux compile fix
Change 3924153 by Rolando.Caloca
DR - vk - Support for dynamic UBs
Change 3924193 by Rolando.Caloca
DR - vk - Remove old per pso descriptor pools
Change 3924197 by Rolando.Caloca
DR - vk - Remove unused global uniform buffer pool
Change 3924220 by Rolando.Caloca
DR - vk - Wrap some unused classes in their define
Change 3924234 by Rolando.Caloca
DR - vk - Show ring buffer wrapping messages
Change 3924243 by Rolando.Caloca
DR - vk - Fix bad dynamic buffer
Change 3924902 by Rolando.Caloca
DR - vk - Fix crash running infiltrator
Change 3925209 by Rolando.Caloca
DR - vk - Fix bug with dynamic buffers
- Remove old defines
Change 3925300 by Rolando.Caloca
DR - vk - Allow packed uniforms as dynamic UBs (with r.Vulkan.DynamicGlobalUBs)
Change 3925627 by Rolando.Caloca
DR - vk - Move DynamicOffsets into the pipeline state
Change 3925834 by Rolando.Caloca
DR - vk - Cache per stage information
Change 3925835 by Daniel.Wright
Fixed DisplayName for UParticleModuleCollisionGPU
Change 3925897 by Rolando.Caloca
DR - vk - Split update descriptors loop
Change 3926488 by Rolando.Caloca
DR - vk - 16MB for ring buffer on desktop, 8 MB for mobile
Change 3928168 by Guillaume.Abadie
Cherry-pick 3917219: Implements r.DOF.RecombineQuality
Change 3928173 by Guillaume.Abadie
Cherry-pick 3927888: Enables r.DOF.HybridScatter.BackgroundCompositing and r.DOF.HybridScatter.ForegroundCompositing to work when both enabled.
Change 3928216 by Rolando.Caloca
DR - vk - Fix Android
- Fix static analysis
Change 3929119 by Rolando.Caloca
DR - vk - Rename some classes for clarity
- Fix read-only cvar
Change 3929151 by Rolando.Caloca
DR - vk - Rename class
Change 3930046 by Rolando.Caloca
DR - Temp fix Vulkan flickering grass
Change 3930148 by Rolando.Caloca
DR - vk - Only update dirty descriptors
- Use dynamic descriptors for packed global uniform buffers
Change 3930998 by Guillaume.Abadie
Packs shader permutation in different XGE submissions.
Change 3931079 by Rolando.Caloca
DR - vk - Fixes for Android and non-real ubs platforms
Change 3931942 by Krzysztof.Narkowicz
Depth rendering - When EarlyZPassMode is set to DDM_AllOccluders, dynamic objects need also to test bUseAsOccluder just like static ones
#jira none
Change 3932819 by Daniel.Wright
[Integrate] Scene Textures uniform buffer
* Base Pass Uniform Buffer now contains a Scene Textures uniform buffer. Previously the translucent base pass had to check ~40 loose scene texture parameters every draw.
* FMeshMaterialShader's must now bind PassUniformBuffer and supply a valid pass uniform buffer. For most passes this is just FSceneTextureUniformParameters.
* FRendererModule::DrawTileMesh can now cleanly set dummy scene texture resources, just by configuring how the pass uniform buffer is created.
* Moved scene texture shader functions out of Common, into SceneTexturesCommon which must be manually included by shaders that want to use them
* Separate Mobile Scene Textures uniform buffer to silo the platform complexities
Moved DBuffer inputs out of FDeferredPixelShaderParameters and into FOpaqueBasePassUniformParameters
Removed per-frame material uniform expressions. GameTime material node with period is now implemented with an fmod in the shader, without the use of MaterialFloat, so that it will happen at full precision.
* Per-frame expressions were used when the GameTime material node had a period, to do the fmod on the CPU where 32 bit precision is guaranteed, for mobile GPU's where pixel shader precision is sometimes less than 32fp.
Moved forward shading data into the Base Pass Uniform Buffer
Removed instanced stereo support for the light cull grid - will have to be reimplemented without changing SRV's per draw
Base pass sets View Uniform Buffer from DrawRenderState instead of choosing which one to set per-draw
Fixed padding in nested uniform buffer structs
Skip SRV members on Feature Level SM4 and below
Change 3932964 by Rolando.Caloca
DR - vk - Renderdoc on Android
Change 3933095 by Daniel.Wright
Moved FSceneTextureUniformParameters out of the opaque base pass uniform buffer.
* Base Pass shaders now enable SCENE_TEXTURES_DISABLED when compiling for a material of any domain other than MD_Surface. These are used when rendering thumbnails of a material in a different domain, which could be opaque, but the opaque base pass drawing policy does not bind a scene textures uniform buffer, so the shader must not bind it.
* Opaque materials can no longer use EyeAdaptation.
Change 3933096 by Daniel.Wright
Better d3d11 assert message when a uniform buffer was not set by the renderer
Change 3933176 by Rolando.Caloca
DR - vk - Prefer mailbox if available
Change 3933271 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3934000 by Guillaume.Abadie
Fixes Win32 build in ShaderCompilerXGE.cpp
Change 3934299 by Guillaume.Abadie
Fixes a bug in DOF's reduce operator that was casusing color leaking between background and foreground.
Change 3934699 by Daniel.Wright
Added bAffectDistanceFieldLighting to landscape
Change 3935190 by Daniel.Wright
Forward Light Grid SRV's use StructuredBuffer on Metal, instead of 'invariant Buffer', which throws off RemoveUniformBuffersFromSource parsing
Change 3935606 by Daniel.Wright
Removed LightmapPolicy::Set which was needed for vertex lightmaps
Renamed FVertexFactory::Set to SetStreams to make it findable
Change 3936510 by Rolando.Caloca
DR - vk - Update glslangValidator.exe to 1.0.65.1 for dumped debug SPIRV shaders
Change 3936545 by Richard.Wallis
Clone of CL's (3925763, 3925430, 3925424, 3925385, 3925278) Mark Satt's Xcode fixes from task stream //Tasks/UE4/Dev-UERNDR-354-mtlpp/
Plus XCode 9.2 compile fix in ApplicationPlatformCompilerPreSetup.h for -Wunused-lambda-capture.
Change 3938061 by Daniel.Wright
Vulkan: Added support for SRV's in Uniform Buffers
Change 3938123 by Daniel.Wright
Vulkan: Slightly better assert for null resources in uniform buffer
Change 3939197 by Rolando.Caloca
DR - vk - Disable custom memory mgmt
Change 3939677 by Rolando.Caloca
DR - vk - Fix static analysis warning
Change 3939809 by Rolando.Caloca
DR - vk - Fixes for async compute
Change 3939875 by Rolando.Caloca
DR - vk - Support for -vktrace
Change 3939977 by Rolando.Caloca
DR - vk - Skip a condition during gather UBs
- Set up efficient compute async var
- Fix validation cmd line
Change 3939982 by Rolando.Caloca
DR - vk - Revert mipchain
Change 3939984 by Rolando.Caloca
DR - vk - Remove unnecessary asserts
Change 3940082 by Rolando.Caloca
DR - vk - Custom mem mgr
Change 3940475 by Rolando.Caloca
DR - vk - Fix DFAO (indirect draw offset)
Change 3940555 by Rolando.Caloca
DR - vk - Minor fixes
Change 3940675 by Rolando.Caloca
DR - vk - Fix indirect type mismatch
Change 3941111 by Rolando.Caloca
DR - Renderpass bGeneratingMips
Change 3941847 by Daniel.Wright
Fixed Volumetric Lightmaps on Static geometry only working if the geometry had been built with Surface Lightmaps before
Change 3941978 by Rolando.Caloca
DR - vk - Minor fixes for presenting on compute queue
Change 3942074 by Rolando.Caloca
DR - vk - Remove some RHI stalls
- Fixed swap chain stat
Change 3943946 by Daniel.Wright
Fixed Texcoord0 on Volume materials on a particle sprite, including SubUV particles.
Change 3944065 by Daniel.Wright
Fixed SceneDepth collision getting broken on GPU particles when a scene capture is rendering
Change 3944158 by Daniel.Wright
Fixed ViewUniformShaderParameters accessing GEngine->PreIntegratedSkinBRDFTexture too early during slate loading screen
Change 3944865 by Rolando.Caloca
DR - vk - Prep for render passes
Change 3945196 by Rolando.Caloca
DR - Move render pass validate to cpp
Change 3945202 by Rolando.Caloca
DR - vk - Some fixes for using real render passes
Change 3945357 by Rolando.Caloca
DR - Fix bad condition
Change 3946295 by Yuriy.ODonnell
Added a sentinel member to FLightMap, which is initialized in the ctor and reset in the dtor. Sentinel is then checked in FLightCacheInterface::GetLightMapInteraction().
This aims to shed some more light on a hard-to-repro crash, which is suspected to be a use-after-free bug: http://crashreporter/Buggs/Show/1785593
Change 3946407 by Rolando.Caloca
DR - vk - Prep for refactor
Change 3946648 by Rolando.Caloca
DR - vk - Fixes for async compute (wip)
Change 3947299 by Rolando.Caloca
DR - vk - FIx static analysis
Change 3948434 by Rolando.Caloca
DR - vk - Fix exiting with parallel
Change 3948928 by Rolando.Caloca
DR - vk - Fix enabling draw markers for tools
Change 3949021 by Rolando.Caloca
DR - vk - Buffer tracking layer
Change 3949602 by Rolando.Caloca
DR - vk - static analysis fix
Change 3949757 by Rolando.Caloca
DR - vk - Remove bogus parameter
Change 3949810 by Rolando.Caloca
DR - vk - Move waits for cmd buffer
Change 3950270 by Guillaume.Abadie
Implements dedicated gather pass for foreground hole filling to avoid being VGPR bound in foreground gather pass, but still being hable to amend foreground.
Change 3950272 by Rolando.Caloca
DR - vk - Minor refactor for semaphores
Change 3950279 by Guillaume.Abadie
Oups... fixes build
Change 3950298 by Rolando.Caloca
DR - vk - Gather wait semaphores in the cmd buffers
Change 3950371 by Rolando.Caloca
DR - vk - fixes for async compute
Change 3950597 by Rolando.Caloca
DR - vk - Fix for clip distance (fixes planar reflections)
Change 3951075 by Rolando.Caloca
DR - vk - Fix for async compute
Change 3952524 by Guillaume.Abadie
Some DOF enum refactoring.
Change 3955016 by Daniel.Wright
Fixed BuiltData package getting renamed into the map package during a content browser folder move, causing a redirector to be incorrectly placed in the map package
Change 3955668 by Guillaume.Abadie
Fixes a bug where full res coc buffer was computed even if not doing slight out of focus.
Change 3956722 by Guillaume.Abadie
Fixes a bug where r.DOF.MaximalForegroundBlurringRadius was screen percentage dependent.
Change 3959212 by Guillaume.Abadie
Prefixes all DOF's shaders files with DOF keyword.
Change 3959705 by Guillaume.Abadie
Optimises the DOF setup pass outputing half res and full res with LDS downsample.
Change 3959941 by Guillaume.Abadie
Halfs DOF's hybrid scatter compilation by using a unique downsampling for both foreground and background, instead of 2 reduce passes.
Change 3962273 by Rolando.Caloca
DR - Fix typos
#jira UE-56317
PR #4586
Change 3962615 by Rolando.Caloca
DR - vk - Compile fix
Change 3962949 by Rolando.Caloca
DR - Fix DOFDownsample extension
Change 3962993 by Guillaume.Abadie
Back out changelist 3962949
Change 3963016 by Guillaume.Abadie
Adds missing DOFDownsample.usf
Change 3963041 by Rolando.Caloca
DR - vk - Misc changes to help integrate
Change 3964293 by Guillaume.Abadie
Fixes DOF's setup pass reading outside of the viewport.
Change 3964475 by Guillaume.Abadie
Collapses DOF's hybrid scatter compilation passes into reduce passes.
Change 3964883 by Daniel.Wright
Fixed 3d texture in uniform buffer on unsupporting RHI
Change 3964897 by Rolando.Caloca
DR - Compile fixes
Change 3964914 by Guillaume.Abadie
Fixes a bug on r.DOF.RecombineQuality=0
Change 3965153 by Guillaume.Abadie
Fixes compile warning in D3D12Commands.cpp.
Change 3965814 by Rolando.Caloca
DR - Prep for integration conflict resolve
Change 3965899 by Rolando.Caloca
DR - Fix odd linkage issue
Change 3966072 by Rolando.Caloca
DR - More prep for merge
Change 3966163 by Rolando.Caloca
DR - Merge prep
Change 3966844 by Guillaume.Abadie
Packs multiple DOF scattered bokeh per instance and uses PT_RectList in DOF for platforms that can.
Change 3967116 by Rolando.Caloca
DR - Compile fixes for integration
Change 3967273 by Rolando.Caloca
DR - Use same path for mip generation
Change 3967277 by Rolando.Caloca
DR - vk - Fix mips on cubemaps
Change 3967693 by Rolando.Caloca
DR - Copying //UE4/Dev-Main@3912313 to //UE4-DevRendering, missing shaders
Change 3967851 by Rolando.Caloca
DR - Copying //UE4/Dev-Main@3912313 to //UE4-DevRendering, Engine 2/2
Change 3968083 by Rolando.Caloca
DR - Integration compile fixes
Change 3968240 by Rolando.Caloca
DR - Shader compile fixes for integration
Change 3968270 by Rolando.Caloca
DR - Fix for missing hash calculation
Change 3969426 by Rolando.Caloca
DR - vk - Fix warning
Change 3969869 by Krzysztof.Narkowicz
Back out changelist 3946295 - UE-54537 is fixed, so no need for this debug sentinel.
#jira none
Change 3969944 by Rolando.Caloca
DR - Warning fix
Change 3970020 by Rolando.Caloca
DR - Bump after integration
Change 3970052 by Rolando.Caloca
DR - Fix for mobile
Change 3970236 by Daniel.Wright
Causing decal shader to recompile to fix a merge bug
Change 3970270 by Daniel.Wright
Bump shader version from merge
Change 3970339 by Olaf.Piesche
Replace series of locks/unlocks with a single one for curve injection
#tests QAGame
Change 3970390 by Rolando.Caloca
DR - Rename FSceneTextureUniformParameters to FSceneTexturesUniformParameters
- Remove duplicate method for occlusion queries
Change 3970523 by Rolando.Caloca
DR - Fix serialization of shaders
Change 3970533 by Arne.Schober
DR - fix for removing the Speed tree wind when the scene gets deleted. The original enque rendercommand requeues the element onto the renderthread although the call already came from the Renderthread and the scene can get lost in between.
#jira UE-56322
Change 3971160 by Guillaume.Abadie
Fixes CompositeEditorPrimtive pass and SelectionOutline pass for VR editor to work with TAAU.
Change 3971516 by Guillaume.Abadie
Cherry-pick 3912629: Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3971594 by Krzysztof.Narkowicz
Fixed assert inside BindLightMapVertexBuffer. FSplineMeshSceneProxy was calling BindLightMapVertexBuffer for invalid (still not generated) lightmap UV channel after mesh reimport. Simplified assert, as at the moment almost all of the high callsites already clamp lightmap uv channel.
#jira UE-56321
Change 3971622 by Krzysztof.Narkowicz
Fixed crash inside Indirect Lighting Cache. Data (reflection captures and lightmap) generation calls ULevel::GetOrCreateMapBuildData(), which can destroy lightmap data if level has legacy data. Last Lightmap generation step recreates this data, but if user cancels lightmap generation - it won't do that.
#jira UE-56171
Change 3974788 by Rolando.Caloca
DR - Remove GSupportsGenerateMips
Change 3974789 by Rolando.Caloca
DR - Remove bogus function
Change 3974986 by Rolando.Caloca
DR - vk - Tracking fixes
Change 3974989 by Rolando.Caloca
DR - vk - Don't submit dummy barriers
Change 3975075 by Olaf.Piesche
Update for particle curve injection improvement, fixing ES2 problems
#tests QAGame tm-shadermodels, various color curve tests in-editor
Change 3975957 by Uriel.Doyon
Fixed invalid max texture resolution when using the bake material tools.
Change 3978471 by Daniel.Wright
New cvar r.SkylightUpdateEveryFrame
Change 3978779 by Rolando.Caloca
DR - Accessor for texture sizes
Change 3978797 by Rolando.Caloca
DR - Clean up RHI CopyTexture API
Change 3978832 by Rolando.Caloca
DR - vk - Workaround for RenderDoc crashing due to Descriptor Pool reset
Change 3978836 by Rolando.Caloca
DR - vk - Remove generate mips
Change 3979201 by Rolando.Caloca
DR - vk - RHI CopyTexture. Uses general layout for generating mips
Change 3979204 by Rolando.Caloca
DR - Use render passes and CopyTexture to generate mips
Change 3979592 by Rolando.Caloca
DR - Warning fix
Change 3980855 by Krzysztof.Narkowicz
Optimize bounding sphere radius after non-uniform scale by using bounding box extent.
#jira UE-56227
Change 3981065 by Rolando.Caloca
DR - vk - Fix bad layout
#jira UE-56238
Change 3981346 by Rolando.Caloca
DR - Copy from 3707257
Support for not flushing compute jobs (r.D3D11.UAVFlushNV)
Change 3981347 by Rolando.Caloca
DR - Copy from 3707257
Don't flush between morph dispatched
Change 3981932 by Mark.Satterthwaite
Generate the shader hash and function name when a Metal shader error needs to be reported so that even without shader code we get something to go on.
Change 3982442 by Rolando.Caloca
DR - Fix warning
Change 3982652 by Rolando.Caloca
DR - vk - Signal semaphore cleanup
Change 3983917 by Richard.Wallis
Clone of CL 3974146 converted for mtlpp along with extra mtlpp usage suggestions by Mark Satt:
Fix for black flickering on first paint with weighted material landscape on Mac. When using AsyncCopyFromBufferToTexture in Metal we put the blit operation on the prologue encoder - however after a draw call using that resource the copy operation should happen after on the current encoder, this keeps the correct order of operations.
Added Bool return from various Asnyc renderpass resource requests so caller can decide correct further action. Updated to include the other async functions.
Change 3984409 by Guillaume.Abadie
Attempts to make static analysis happy again.
Change 3984435 by Nick.Bullard
Checking in Performance Test level provided to us by Tor Frick based on UE-44841.
This has been utilized for checking issues against Aftermath performance impact.
The Map includes 2 Level Book marks, most testing has been done against Bookmark 1 view, in fullscreen, in game mode
Change 3985087 by Mark.Satterthwaite
Make sure that the particle scratch buffer is large enough to hold all the data for the curve texture we are rendering to, otherwise a full set of curves will start scribbling memory after 64Kb (the curve texture is 256Kb of data - 512x512x4 as sizeof(RGBAUInt8) == 4). This happens in ElementalDemo.
Change 3985201 by Rolando.Caloca
DR - Fix bad CopyTexture
Change 3985258 by Mark.Satterthwaite
Try and detect orientation changes so that we don't blow-up on iOS due to a huge mismatch between the drawable texture for the display and the scene's depth-stencil target. I can't just fiddle with the depth-stencil texture itself without running the risk of obliterating in-use data and really we shouldn't permit such a mismatch anyway but it is fallout from 3620990.
#jira UE-55756
Change 3986449 by Rolando.Caloca
DR - vk - Update & consolidate Vulkan headers to 1.1.70.1
Consolidate SDK into one
Change 3986571 by Guillaume.Abadie
Makes PVS-Studio happy again in DOF.
Change 3987039 by Yuriy.ODonnell
Initial implementation of tracing profiler to show CPU and multiple GPUs on the same timeline. Currently only supported on DX12 platforms.
Use `TracingProfiler frames=N` console command to trigger a capture of the next N frames. Trace is saved to disk as a JSON file into `Saved/Profiling/Traces` directory.
Trace file uses Google Tracing format and can be visualized in Chrome built-in profiler (chrome://tracing).
`r.GPUStatsChildTimesIncluded=1` CVar makes timing scopes hierarchical.
`TracingProfiler.BufferSize=N` CVar controls the size of the tracing buffer, which may need to be increased for long traces (default is 65k events). Only can be set at startup.
Change 3987074 by Yuriy.ODonnell
Implemented timestamp calibration on DX11. Calibration is only performed when tracing profiler session starts.
Change 3987160 by Yuriy.ODonnell
Added thread naming and ordering to the tracing profiler output
Change 3987331 by Mark.Satterthwaite
Remove the Nvidia hack to retain resource references in command-buffers for UE-46604 as the mtlpp refactor provides stronger resource lifetime guarantees.
#jira UE-46604
Change 3987754 by Mark.Satterthwaite
Fix MetalRHI memory reporting in non-default path.
PR #4568
Change 3988184 by Arciel.Rekman
Linux: Fix editor OpenGL performance (UE-55960).
- GetCurrentThreadId() calls became much more frequent with the OpenGL RHIT refactor.
- We used to only cache that value in monolithic builds, because having per-thread static variables in dynamic libraries is risky due to OS limits.
- This change adds dynamically-managed per-thread cache for non-monolithic builds.
#jira UE-55960
Change 3988394 by Rolando.Caloca
DR - vk - Improve memory mgmt
- Use 256MB pages for Device heap (or 1/8th if less).
- Remove texture allocations not going through resource manager
Change 3988405 by Marcin.Undak
Fix VulkanQuery crash on exit #codereview rolando.caloca #codereview arciel.rekman #rb arciel.rekman
Change 3988567 by Rolando.Caloca
DR - vk - Support for packed global UBs on pci aperture heap
Change 3988668 by Rolando.Caloca
DR - vk - Remove old comments
Change 3988956 by Marcin.Undak
RecordPerformance: added option to skip building/cooking before tests #rb none #codereview arciel.rekman
Change 3989161 by Yuriy.ODonnell
Static analysis error fix
Change 3989196 by Guillaume.Abadie
Fixes a crash in light shaft's TAA pass.
#jira UE-57366
Change 3989207 by Yuriy.ODonnell
Refactored FRealtimeGPUProfilerFrame to avoid splitting profile events when calculating exclusive times of scopes. This allows tracing profiler to retain the hierarchical view of the data, while keeping CSV and GPU Stat system behavior intact.
Change 3989469 by Rolando.Caloca
DR - vk - Fix for bad index; fix for bad transition
Change 3989772 by Yuriy.ODonnell
Implemented timestamp calibration on Vulkan
Change 3990040 by Marcus.Wassmer
Aftermath enabled by default.
Removed unnecessary warning for other vendors
Change 3990064 by Mark.Satterthwaite
Ensure that packed globals are reuploaded when the command-encoder is restarted - don't simply invalidate the existing parameters. This properly handles cases where a single logical render-pass is broken into multiple command-encoders and/or command-buffers - otherwise all shaders must reset all parameters each time. When we move between frames we *do* want to perform a full state reset though as previous frame globals are treated as invalid.
Change 3990080 by Mark.Satterthwaite
Change the way we invalidate the visibility buffer between command-buffers and command-encoders so that on iOS you can reuse the same buffer within the same command-buffer, but not across more than one. The code provides an exception to this rule when running under the MetalRHI validation tools which can break each draw call into its own buffer.
Change 3990084 by Mark.Satterthwaite
Get MetalStatistics compiling again.
Change 3990381 by Arciel.Rekman
Bring back D3D12 in RecordPerformance.
Change 3991113 by Rolando.Caloca
DR - Fix crash on RHI thread on mobile preview
- Check RHI objects are not null in the PSO initializer
Change 3991191 by Ryan.Vance
#jira UE-55952
Reimplemented instanced stereo for forward lighting cull grid after the srv/ub clean up.
Change 3991343 by Rolando.Caloca
DR - Copy from 3911492
UE4 - Disabled parallel mobile bass pass by default. This is experiemental and not known to be useful on any mobile platform.
Change 3991375 by Mark.Satterthwaite
Proper copyright assignment in the mtlpp debugger header.
Change 3993151 by Daniel.Wright
Fix RTDF resource transition found by Rolando
Change 3993818 by Rolando.Caloca
DR - Missed file
Change 3993923 by Krzysztof.Narkowicz
Fixed crashes inside RemoveSpeedTreeWind() and RemoveSpeedTreeWind_RenderThread().
FStaticMeshComponentRecreateRenderStateContext didn't flush deferred render updates causing stale RenderData to be left:
1. Thumbnail manager called SetStaticMesh(nullptr), which added StaticMeshComponent to deferred render updates.
2. UStaticMesh::Build called FStaticMeshComponentRecreateRenderStateContext and destroyed DenderData, but didn't touch Thumbnail's manager StaticMeshComponent as it was nullptr.
3. This resulted in a StaticMeshComponent with stale RenderData pointer.
#jira UE-54544
Change 3994033 by Rolando.Caloca
DR - vk - Reworked layers & extensions, as we were not doing it properly
- Remove -vulkanstandardvalidation and -novulkanstandardvalidation as they are not needed anymore
Change 3994275 by Mark.Satterthwaite
Change to linking against mtlpp via AddEngineThirdPartyPrivateStaticDependencies and marking its header with THIRD_PARTY_* macros in the vain hope that might convince the remote compilation code to distribute the module to the remote machine when building MetalRHI.
#jira UE-57507
Change 3994365 by Mark.Satterthwaite
Pilfer some code from the old MetalHeap file to handle calculating texture memory size on older macOS and iOS builds when running with stats or LLM enabled.
#jira UE-57513
Change 3994382 by Rolando.Caloca
DR - vk - Some missing locks during image tracking
Change 3994422 by Rolando.Caloca
DR - vk - Remove bogus shader format
Change 3995530 by Rolando.Caloca
DR - vk - Fix for crash when validation is enabled
Change 3995531 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3995532 by Rolando.Caloca
DR - vk - Added support for r.Vulkan.SaveValidationCache
Change 3995610 by Uriel.Doyon
Texture Streaming Changes and Fixes:
- Using the small FOV items (like scopes) now only affect visible primitives (through "r.Streaming.MaxHiddenPrimitiveViewBoost").
- Static components added after the level is registered in the streaming manager are now handled correctly (fixes the low quality on the chests)
- Dynamic components do not need to register to the streaming manager anymore.
- Optimized dynamic component management by removing duplicate entries in the update list.
- Added a pregarbage collect pass to the dynamic component management to optimize GC handling.
- Added a budget reset logic whenever the scene requirements change significantly.
- PIE worlds now have correct visibility information.
- Fixed possible invalid memory access when processing the streaming manager slave views.
- Refactored the incremental level texture data build to prevent new components from being unhandled.
- Removed StreamingManager callbacks for NotifyActorSpawned() and NotifyPrimitiveAttached()
- Added a StreamingManager callback NotifyPrimitiveUpdated(), to be used whenever a primitive streaming state must be updated.
#jira none
Change 3995908 by Arciel.Rekman
Fix compile errors when using new Vulkan queries.
Change 3995990 by Arciel.Rekman
More compile fixes to new Vulkan queries.
- MSVC did not catch this, clang did.
Change 3996101 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3996323 by Mark.Satterthwaite
Use the right include path to export the mtlpp headers.
#jira UE-57507
Change 3996392 by Arciel.Rekman
Vulkan: fix crash on start when using new queries.
- CommandBufferManager was not yet set at that point and the code in queries relied on it.
Change 3996585 by Rolando.Caloca
DR - Slight improvement to GL being black, but just a temporary 'workaround' as it's not correct.
Change 3998806 by Arciel.Rekman
Fix Linux build (UE-57602).
#jira UE-57602
Change 3998866 by Arciel.Rekman
SubwaySequencer: fix old shader platform name.
Change 3998947 by Mark.Satterthwaite
Silence deprecation warnings in CEF on macOS now that we've moved to 10.12 as the minimum.
#jira UE-57577
Change 3998951 by Mark.Satterthwaite
Fix last of the deprecation errors that I am aware of for macOS 10.12.
#jira UE-57581
Change 3998984 by Mark.Satterthwaite
Build mtlpp for iOS 9.0 not 9.3.
#jira UE-57586
Change 3999065 by Rolando.Caloca
DR - vk - Make sure we use version 1.0.0
#jira UE-57521
Change 3999071 by Arne.Schober
DR - [UE-55433, UE-57361] Hack SNORM support in OpenGL by re-interpreting UNORM. Underlying data is always SNORM.
#jira UE-55433, UE-57361
Change 3999494 by Rolando.Caloca
DR - Enable r.UnbindResourcesBetweenDrawsInDX11 in debug
- Clear compute resources when r.UnbindResourcesBetweenDrawsInDX11 is enabled
Change 4000197 by Krzysztof.Narkowicz
Mesh simplifier - normalize TexCoordWeights using min/max TexCoord range. This fixes precision issues for very big TexCoord values and allows to optimize for all TexCoord channels when channels have values of different magnitudes (e.g. non standard TexCoord data).
#jira UE-54935
Change 4000305 by Yuriy.ODonnell
Suppress PVS Studio warning V547 (Expression is always true) related to Aftermath
Reported issue to PVS team and to NVIDIA. Confirmed false positive, fix coming in future PVS version (v6.24).
#jira UE-57579
Change 4000853 by Arciel.Rekman
Linux: fix not calling CrashReportClient (UE-57678).
#jira UE-57678
Change 4001504 by Rolando.Caloca
DR - vk - Fix transition
Change 4002460 by Krzysztof.Narkowicz
Toggle for contant shadow length in word space
Exposed contact shadows to Blueprints
#jira none
Change 4002608 by Rolando.Caloca
DR - vk - Fix static analysis
- Fix potential debug image tracking crash
- Comment out unused methods
Change 4002615 by Rolando.Caloca
DR - vk - Allow r.Vulkan.WaitForIdleOnSubmit to be set at startup (e.g. in ConsoleVariables.ini)
Previously, if your map needed to UpdateSkyCaptureContents on startup, an ensure would fail if GWaitForIdleOnSubmit was set.
PrepareForCPURead needs to wait for the command buffer to finish before trying to read the results back, but the wait has already happened when r.Vulkan.WaitForIdleOnSubmit is set. Trying to wait again correctly complains that the command buffer is not in the correct state. So, skip the WaitForCmdBuffer call when r.Vulkan.WaitForIdleOnSubmit is set.
Change 4002640 by Rolando.Caloca
DR - vk - Missing support for CVarDefaultBackBufferPixelFormat
Change 4002919 by Guillaume.Abadie
Implements DOF's temporal upsampling pass for better dynamic resolution stability.
Change 4002984 by Guillaume.Abadie
Integrates Sebastian Aaltonen's ALU optimisations for TAAU.
Change 4003112 by Olaf.Piesche
Fir for TBB stall (resulting in severe hitches and hangs in the editor with stats active); tested multiple scenarios and encountered no hitches.
#tests QAGame PerformanceTest and RenderTest map with various stats on and off
Change 4003159 by Mark.Satterthwaite
Undo parts of changelist 3970553 - the ref-counted pointer approach to returning textures to the pool is not working as expected so we'll remove that. It'll be faster on the CPU without it and everything works thanks to the changes this CL made to the way textures were released.
#jira UE-57538
Change 4003287 by zachary.wilson
Adding reflection capture content to TM-LightingScenarios
Change 4003395 by Arne.Schober
DR - Fix unitzialised value when clicking Go To in the editor
#jira UE-57048
Change 4003425 by Rolando.Caloca
DR - vk - Fix for new occlusion queries
Change 4003530 by Arne.Schober
DR - Disable GPU Benchmark in headless configurations
#jira UE-57673
Change 4003717 by Rolando.Caloca
DR - vk - Fix for depth not store, stencil store
Change 4003719 by Rolando.Caloca
DR - Minor switch to render pass
Change 4003720 by Mark.Satterthwaite
Don't suballocate private memory buffers on Vega and only Vega as there is something wrong with the blits in those cases but I can't capture a GPU trace to find out what right now (the driver is broken) - could be a bug in my code but this works on Polaris and Nvidia so it will need to be filed as a radar for AMD.
Remove the FMetalBufferChunk from FMetalBuffer and simply store a pointer to the owning Heap/Magazine allocator. The FMetalResourceHeap now calls a new Release function to return the buffer to the allocator which will be faster on the CPU.
#jira UE-57659
Change 4003854 by Mark.Satterthwaite
Undo parts of 3990064 and try a different approach to get the uniforms to upload and remain available in the right places. As the original bug has been lost to time we should keep an eye out for missing buffer bindings by running under the Metal validation layer periodically.
#jira UE-57576
Change 4004709 by Rolando.Caloca
DR - Support for D3D 11, 12 & Vulkan for UAVs off Index Buffers
Change 4005149 by Guillaume.Abadie
Adds shader permutation to avoid clamping input buffer UV in DOF's gather pass.
Change 4005284 by Uriel.Doyon
Resaved volume texture assets with proper engine version.
#jira UE-57534
Change 4005286 by Guillaume.Abadie
Reduces constant setup in DOF's gather pass.
Change 4005359 by Rolando.Caloca
DR - vk - Fix annoying warning
Change 4005363 by Rolando.Caloca
DR - Fix android not finding vulkan shaders
Change 4005457 by Rolando.Caloca
DR - vk - Fix swapchain crash
Change 4005473 by Patrick.Kelly
UE-57135: Editor crash if set Reflection Capture Resolution to be 64 and New a Default level
Codde by Daniel
Tested by Patrick
Change 4005474 by Rolando.Caloca
DR - vk - Remove glsl code from shaders. Packaged QAGame goes from 176MB to 162MB
Change 4005759 by Krzysztof.Narkowicz
Fixed a bug, where reflection capture build is called, even though we are in mobile preview mode.
#jira UE-57743
Change 4005774 by Mark.Satterthwaite
Update the wave intrinsics to avoid implicit bool->uint conversion that Apple don't like.
#jira UE-57750
Change 4005974 by Mark.Satterthwaite
Don't use cubemap array types on iOS Metal as they aren't available on all devices and we need to maintain backward compatibiliy for years to come.
#jira UE-57083
Change 4006056 by Mark.Satterthwaite
Remove the use of the PrimitiveType argument from Metal draw calls.
#jira UE-57822
Change 4006139 by Mark.Satterthwaite
- Move the render-pass functions into the MetalRHI implementation for later alteration.
- Implement Index buffer UAVs for Metal - makes them more like vertex-buffers so this is one more step on the road to a unified buffer base-class implementation.
Change 4006215 by Mark.Satterthwaite
Metal's begin & end render/compute pass API implementation will take some time, but for now make it not depend on the parent stub implementation.
Change 4006394 by Mark.Satterthwaite
In lieu of a real instruction count just use the number of lines in the "Main" function of the shader as the instruction count for Metal.
#jira UE-57551
Change 4006493 by Mark.Satterthwaite
MetalRHI can currently support 4-component formats for Buffer UAVs - this might need some thought in the future as the API evolves but we might as well take advantage while we can.
Change 4006495 by Daniel.Wright
Integrate from Refactor branch
* New FMaterialRenderProxy function GetMaterialWithFallback which provides both the FMaterialRenderProxy and FMaterial. Needed when falling back to default material, so that proxy and material resource match.
* Local vertex factory uniform buffer
Change 4006851 by Brian.Karis
Fix for joined charts forming an L to inflate both axii.
Thanks to Jess Kube of The Coalition.
Change 4006852 by Brian.Karis
Fix for hard coded reflection capture cube map size. Should fix light static light aliasing in captures
Change 4006918 by Brian.Karis
New ByteBuffer functionality. Memcpy and scatter upload. Can implement GPU side TArray reflection.
Not yet used by checked in code. WIP optimization.
Change 4007246 by Guillaume.Abadie
Creates lower quality permutation for DOF's gathering pass, without Coc based weighting of the samples, and lower number of gathering ring for fast accumulator.
Change 4007291 by Guillaume.Abadie
Exposes more DOF scalability settings.
Change 4007328 by Guillaume.Abadie
Optimises DOF's half res only setup pass using gather4
Change 4007627 by Richard.Wallis
Fix for when Magic Mouse cannot zoom in World Composition editor. Missing default SNodePanel::OnMouseMove behaviour. Tested using a classic 2xbutton + wheel mouse and a Mac MagicMouse.
#jira UE-57030
Change 4007682 by Richard.Wallis
No video when playing HLS streaming video on Mac. 2 Issues, FPS was zero making duration for video sample buffer nonsense and Video Track dimensions were going to zero on the AVAsset once fully initialized when playing HSL streams. Now cache relevant details and handle zero frame rate.
Notes:
- Caching the frame rate is not as important as we could look it up each time and fix for zero - ignoring that at the moment.
- Assume we DO NOT want the FrameSize to be the last fetched video frame size from the AvfMediaVideoSampler as I think that is the video quality for streaming video and not the media frame size.
- Renamed a variable in the AvfMediaVideoSample - was called FrameRate but it was the FrameDuration by that point.
#jira UE-56734
Change 4007731 by Rolando.Caloca
DR - Disable byte buffers on non-hlsl based platforms
#jira UE-57851
Change 4007741 by Rolando.Caloca
DR - Disable byte buffers on hlslcc platforms
Change 4007782 by Mark.Satterthwaite
Force Metal shaders, including the stdlib, to recompile.
Change 4007918 by Rolando.Caloca
DR - vk - Some static asserts
Change 4008404 by Arciel.Rekman
Do not crash on incompatible Vulkan drivers (UE-57521).
#jira UE-57521
Change 4008442 by Daniel.Wright
Better comments on ERHIFeatureLevel expectations
Change 4008494 by Arne.Schober
DR - moved bDeletedThroughDeferredCleanup before begincleanup to catch cases where the reference is added twice to the array. also removed finishcleanup as all they ever did was deleting the pointer anyway, and it sould be adfded if such functionallity is ever required fom outside of the regular destructor.
#jira UE-57754
Change 4008730 by Mark.Satterthwaite
After the most recent changes to handling uniform buffer dirty bits in MetalRHI we should guard against attempts to set an unbound uniform buffer.
#jira UE-57870
Change 4008949 by Brian.Karis
Fix compile warning
Change 4008951 by Brian.Karis
Added LTC LUT textures
Change 4009326 by Guillaume.Abadie
Compiles out DOF's gathering bokeh simulation on platform other than desktop.
Change 4009380 by Krzysztof.Narkowicz
Moved area light code before the contact shadows, so contact shadows use representative light's direction.
Merged all contact shadows shader code.
Contact shadows keep constant screen space length independent of FoV settings.
Contact shadows for translucents.
Contact shadows for eye.
Change 4009555 by Guillaume.Abadie
Splits DOFCocTile.usf in two.
Change 4009999 by Yuriy.ODonnell
MallocStomp can now be enabled on certain platforms using '-stompmalloc' command line argument.
Previously it was necessary to modify MallocaStomp.h and re-compile the engine.
Currently supported platforms: Win64, Mac, Linux.
Replaced hard-coded page size with FPlatformMemory::GetConstants().PageSize.
Change 4010288 by Rolando.Caloca
DR - vk - Fix for vertex streams
Change 4010289 by Krzysztof.Narkowicz
D3D12 - fixed depth bounds bug, where depth bounds wasn't properly set to [0;1] after disabling.
#jira UE-57510
Change 4010297 by Rolando.Caloca
DR - vk - Remove some functions for android
Change 4010315 by Rolando.Caloca
DR - vk - Remove create info macro
Change 4010451 by Rolando.Caloca
DR - vk - Reuse samplers
- Infiltrator goes from 5759 to 24 samplers!
Change 4010627 by Rolando.Caloca
DR - vk - Fix missing values for tracking swapchain validation
Change 4011924 by Guillaume.Abadie
Implements tile based early return optimisation on DOF's postfiltering method.
Change 4011941 by Guillaume.Abadie
Shaves some ALU in DOF's accumulator for LowQuality permutation.
Change 4012093 by Yuriy.ODonnell
Disable MallocStompOverrunTest() in static analysis config, as it intentionally performs an out-of-bounds access.
Change 4012195 by Rolando.Caloca
DR - vk - Fix for mobile backbuffer layout
Change 4012202 by Rolando.Caloca
DR - vk - Don't use staging buffers on UMA
Change 4012467 by Rolando.Caloca
DR - Remove redundant check
Change 4012486 by Rolando.Caloca
DR - Fix missing transition
Change 4012518 by Guillaume.Abadie
Implements fast shader permutation for DOF's TAA pass.
Change 4013084 by Arciel.Rekman
Fix for Linux clock discrepancy.
- Causing at least one precision issue, possibly more.
(Edigrating 4003273, 4012462 from //UE4/Dev-Editor/... to //UE4/Dev-Rendering/...)
Change 4013266 by Uriel.Doyon
Fixed crash when setting SceneDepthTextureNonMS and not having valid depth buffers in the SceneContext.
Change 4013626 by Uriel.Doyon
Fixed crash in the lighting build when creating a blueprint of the ALight and placing a light component in it.
#jira UE-51672
Change 4013805 by Rolando.Caloca
DR - Fix more missing transitions
Change 4014128 by Arne.Schober
DR - Do not create LocalVFUniformBuffer when running without MVF
#jira UE-57929
Change 4014193 by Uriel.Doyon
Editing component transforms now invalidate the component's lighting cache.
#jira UE-48134
Change 4014282 by Rolando.Caloca
DR - vk - Remove extra validation during dump
Change 4014584 by Uriel.Doyon
Duplicated static meshes now generate a new GUID to prevent possible issues with lightmass.
#jira UE-49064
Change 4014604 by Uriel.Doyon
UStaticMesh postduplicate now only generates a new GUID if !bDuplicateForPIE.
Change 4015460 by Guillaume.Abadie
Composes separate translucency within DOF's recombine pass.
Change 4015571 by Guillaume.Abadie
Refactors tonemapper to use global shader permutation API, that adds permutation for HDR output device rather than dynamic branching that some shader compiler are not very well optimizing.
Change 4015984 by Krzysztof.Narkowicz
Fixed crash inside DFAO resource allocation, when DFAO viewport has zero area.
#jira UE-58000
Change 4016056 by Mark.Satterthwaite
Fix Mac Metal shader compilation of texture cube arrays.
Change 4016062 by Richard.Wallis
Convert things like Space, Delete, F6 etc to unicode so they display correctly on the Mac menu rather than first letter of word. Added the default Mac commands to the GenericCommands so we get a Chord overwrite message and stop things like cmd+ q / w / h from getting bound.
#jira UE-46999
Change 4016109 by Mark.Satterthwaite
One unified Metal buffer implementation - will make further changes a heck of a lot easier.
Change 4016221 by Patrick.Kelly
UE-57617: Ensure changing viewmode to ShaderComplexity while in -game
Change 4016238 by Guillaume.Abadie
Makes clang happy again in Tonemapper.
Change 4016309 by Mark.Satterthwaite
More *_RenderThread implementations for MetalRHI.
Change 4016414 by Mark.Satterthwaite
And MetalRHI version of CreateStructuredBuffer_RenderThread...
Change 4016498 by Mark.Satterthwaite
Don't hold on to the uniform buffers bound to the hull shader when switching to a tessellated draw call as they'll have the wrong buffer layout.
#jira UE-57930
Change 4017394 by Juan.Canada
OpenGL: Fixed shading artifacts due incorrect UNORM/SNORM conversions in skin/skincache/computetangent shaderss.
#jira UE-57691
Change 4017522 by Rolando.Caloca
DR - vk - Remove unused code path (old mip generation detection)
Change 4017539 by Rolando.Caloca
DR - vk - Fix for sky lighting mips showing green on AMD
Change 4017542 by Arciel.Rekman
Moved appCountTrailingZeros to a non-SSE header (fixes ARM64 build).
- Arguably WITH_SLI shouldn't apply to Linux on ARM but the fact that the function wasn't available is bad on its own.
Change 4017827 by Guillaume.Abadie
Optimises DOF's scattering cost by a third.
Change 4017835 by Rolando.Caloca
DR - Only allow a render pass to generate mips for one color render target
Change 4017889 by Mark.Satterthwaite
Cache all the Metal state objects to avoid hitting the API unnecessarily.
Change 4018251 by Mark.Satterthwaite
Fix broken rendering on Metal that tracked back to the innocuous looking changes in CL #4006495 (no blame attached - these changes are entirely reasonable) and cause various bugs in QAGame's TM-DistanceFields, ElementalDemo and probably more. Doesn't fix broken SpeedTree rendering :(.
MetalRHI was allowing uniform buffers to blow away linear texture buffers when the constant buffer has been elided due to dead-code elimination. This problem can manifest without linear textures if the uniform buffer contains both constant data and a resource-table but the shader doesn't use any of the constant data. That's because Metal doesn't separate constant buffers from any other kind of buffer unlike D3D which separates all the slots out - and Metal doesn't provide enough buffers to emulate the D3D arrangement. So far this has only manifested in the MVF + Linear Texture case but a more robust solution will be necessary long term.
Change 4018514 by Guillaume.Abadie
Implements r.DOF.Scatter.MinCocRadius.
Change 4018553 by Guillaume.Abadie
Implements r.DOF.Scatter.MaxSpriteRatio to control the budget upperbound of DOF's scattering
Change 4020369 by Yuriy.ODonnell
Disable MallocStompOverrunTest in all static analysis configs (using USING_CODE_ANALYSIS macro)
Previously was only disabled for PVS-Studio.
Change 4020620 by Arciel.Rekman
Fix XboxOne CIS (fallout of appCountTrailingZeros move).
Change 4020949 by Guillaume.Abadie
Configures DOF in scalability settings.
Change 4021593 by Rolando.Caloca
DR - vk - Support for Aftermath style api on AMD
Change 4021740 by Rolando.Caloca
DR - vk - Change log output
Change 4022008 by Uriel.Doyon
Fixed renderthread stalls when streaming texture mips on low end systems.
Change 4022135 by Rolando.Caloca
DR - vk - Fix last mip's layout during mip chain creation
Change 4022607 by Jian.Ru
Speculative fix for a bug where an invalid vertex buffer is deferenced
#jira UE-56229
Change 4022890 by Rolando.Caloca
DR - Fix reference count not getting released
Change 4023540 by Mark.Satterthwaite
Avoid some pointless retain/release calls on Metal Encoders.
Change 4023796 by Marcus.Wassmer
Tell users they are over the maximum size when allocating very large rendertargets.
Change 4025337 by Yuriy.ODonnell
Improved use-after-free detection mechanism and physical memory usage of MallocStomp on Windows.
MallocStomp on Windows will now reserve virtual address space for every allocation and then commit physical pages only to the valid usable part.
Physical pages will be unmapped on Free, but virtual address space will not be released and therefore will never be re-used.
Virtual address space is allocated from the OS in blocks of 1GB and then linearly sub-allocated.
This reduces VA space usage, as VirtualAlloc returns blocks on 64KB granularity even if we just need 4KB. As a small bonus, this also reduces number of syscalls per allocation.
This dramatically increases accuracy of use-after-free detection, but consumes significant amount of memory for the OS page table.
Virtual memory limit for a process on Win10 is 128 TB, which means we can afford to keep virtual memory reserved for a long time.
Running Infiltrator demo consumes ~700MB of virtual address space per second.
Additionally, committing physical pages only for the usable part of the entire virtual block reduces physical memory usage by ~30% compared to old behavior,
which allocated and committed entire block of pages via BinnedAllocFromOS and then marks border page as non-accessible.
Change 4026047 by Rolando.Caloca
DR - Fix test/shipping
#jira UE-58148
Change 4026150 by Krzysztof.Narkowicz
Force proper ordering of buffer visualization materials - after tonemapping (so exposure doesn't influence it) and before editor stuff like icons.
#jira UE-57992
Change 4026226 by Rolando.Caloca
DR - Fix static analysis
#jira UE-58150
Change 4026354 by Jian.Ru
Debug check trying to catch a crash. Only enabled in editor build
#jira UE-50111
Change 4026655 by Rolando.Caloca
DR - Fix for static analysis
#jira UE-58149
Change 4026763 by Rolando.Caloca
DR - Remove references to defunct CCT to avoid confusing licensees
Change 4027167 by Uriel.Doyon
Fixed possible out of bound buffer access when serializing with FDuplicateDataWriter.
#jira UE-56509
Change 4027850 by Jian.Ru
Prevent log spam
#jira UE-50111
Change 4029546 by Rolando.Caloca
DR - Compile fixes
Change 4029624 by Yuriy.ODonnell
Addressed static analysis errors in MallocStomp
- VirtualAlloc return value is now explicitly checked.
- C6250 is suppressed, as VirtualFree does not release address space by design.
Change 4030225 by Yuriy.ODonnell
Static analysis warning fix: make sure declaration of Sleep() is consistent between Windows headers and TBB
The complexity with this particular case is that the warning is generated in synchapi.h, which is included by some Windows headers.
If a module includes TBB and then Windows platform headers, static analyzer will report this warning.
Suppressing it would require wrapping all instances of Windows header includes in third-party macros.
Current pragmatic solution is to modify the Sleep() declaration in TBB header to be consistent with Windows and to report the issue to Intel for a permanent fix.
Change 4030440 by Rolando.Caloca
DR - Fix crash on mobile
#jira UE-58222
Change 4030570 by Daniel.Wright
Allow null SRV's in uniform buffers for feature levels that don't support SRV's in shaders
Change 4030618 by Arne.Schober
DR - missing tangent/normal sign conversion after integration from main
#jira UE-58224
Change 4031588 by Rolando.Caloca
DR - vk - Fix compile error when missing vkCmdWriteBufferMarkerAMD
Change 4032145 by Mark.Satterthwaite
Fix UE-58268 by only emitting the base_instance/base_vertex variables required to fix-up the instance/vertex ID values to match D3D when the Metal version is 1.1 or higher, earlier versions don't support these features.
#jira UE-58268
Change 4032209 by Rolando.Caloca
DR - Fix crash on EngineTest: Mesh Batch's UserIndex is not a union anymore
Change 4033178 by Guillaume.Abadie
Fixes FXAA sampling outside viewports, that was causing black outline on bottom and right edge of the screen when ViewSize != BufferSize, problematic for some screenshot automated test.
#jira UE-58151
Change 4034489 by Daniel.Wright
Fixed UStaticMeshComponent modifying its UStaticMesh when undoing a change. This caused a crash when other static mesh components using the same mesh asset were rendered, since their rendering state was not recreated. A component should not modify its asset during PostEditUndo.
* This behavior has been present for a long time but was previously hidden because only the vertex factory of the mesh asset is cached in static draw lists, not any of its rendering resources (eg vertex declaration).
Change 4035157 by Uriel.Doyon
Fixed deadlock in the streaming code when running with -onethread.
#jira UE-58299
Change 4035198 by Rolando.Caloca
DR - vk - Fix issue when an older SDK was installed, UBT would pick it (should pick the newer of ThirdParty\Vulkan or installed SDK).
#jira UE-58267
Change 4035730 by Arne.Schober
DR - Fix missing Fog parameters during LightScattering Injection
#jira UE-57608
Change 4035843 by Daniel.Wright
Reimplemented support for EyeAdaptation node in opaque materials
Change 4036837 by Marcus.Wassmer
Replace some of the screenshots to match new un-tonemapped buffer visualization
Change 4036980 by Rolando.Caloca
DR - vk - Fix deadlock contention during mem allocation on Linux
Change 4037225 by Guillaume.Abadie
Fixes jittering selection outline.
#jira UE-58350
Change 4038056 by Marcus.Wassmer
roll back changelist 4026150. breaks a bunch of automated tests by cutting off half the image.
Change can go back in later with that part fixed also
Change 4038296 by Jian.Ru
Static analysis fix
#jira UE-58377
Change 4038402 by Ben.Marsh
Suppress IncludeTool warnings caused by CL 3998947.
Change 4038514 by Arne.Schober
DR - Fix case with MVF where instance offset is not supported by the API (in this case only foliage OpenGL and TvOS), usually the buffers are offsetted instead but with MVF we do not use offsetted buffers, therfore the offset needs to be passed into the shader although we are drawing with offset of 0.
#jira UE-57652
Change 4038747 by Marcus.Wassmer
Back out changelist 3853645, causing us to lose shadows in the shaderhair test
Change 4040138 by Rolando.Caloca
DR - Fix compile warning
Change 4041614 by Rolando.Caloca
DR - vk - Fix for Oculus module
#jira UE-58267
Change 3810277 by Daniel.Wright
Ray Traced Distance Field shadows use a two pass tile culling algorithm with no tile max - fixes flickering from tile overflow in dense areas or with a low sun angle. Costs .2ms on PS4.
The distance field scene buffers now use float4 on PS4 and Xbox, saves .1ms on PS4.
Change 3817029 by Uriel.Doyon
Added UVolumeTexture, which use 3D textures. Compressed formats are supported on DX11, DX12, PS4 and XB1.
Projects targetting OpengGL don't have access to compressed formats (as the implementation has texture tiling issues).
Add "r.AllowVolumeTextureAssetCreation" set as 0 by default, which controls whether volume texture can be sampled in materials and whether they can be created from 2D texture assets.
Platform not supporting BC7, will now fallback on RGBA8 instead of DXT to preserve quality, in an attemps to increase usage of BC7.
#jira UE-32263
Change 3819960 by Michael.Lentine
Expose UEPhysics Clothing Parameters through UI.
Change 3823401 by Rolando.Caloca
DR - Add NumQueriesInBatch to RHIBeginOcclusionQueryBatch
Change 3844805 by Arne.Schober
DR - Increased Intermediate normal of Umodel and Skelmesh from 8bit Unorm Compressed to float. A resave/rebuid/reimport of the meshes is recommended to recover some lost precision.
Fixed an issue with compressed (packed) normals on the GPU which were off by one integer representation. Also switched from UNORM to SNORM to get a discrete zero representation and removed some mads from all the VertexShaders.
Change 3847283 by Marcus.Wassmer
Extra fixes from Uriel
Change 3876607 by Rolando.Caloca
DR - Use render passes when running occlusion queries
- Removes the RHI(Begin|End)OcclusionQueryBatch API
Change 3903799 by Daniel.Wright
[Integrate] Pass Uniform Buffers
* All pass-constant shader inputs should go into the appropriate pass uniform buffer, instead of being set per-draw
* Moved many per-draw base pass parameters over to the Base Pass Uniform Buffer
* Opaque and Translucent base pass shaders have different uniform buffers, which allows compile errors when accessing an invalid resource (eg GBuffer in Opaque), instead of silently falling back to GBlackTexture
Uniform buffers can now contain nested structs with UNIFORM_MEMBER_STRUCT()
* This allows composing a uniform buffer at a particular update frequency out of many features, with encapsulation of each feature's parameters in a struct.
* Eg deferred fog uses FFogUniformParameters, but so does translucency in the base pass, where FFogUniformParameters is reused nested inside the base pass uniform buffer.
* Resources can now be located anywhere in the uniform buffer. Padding is inserted to the cbuffer representation to keep memory layouts matching. In the future the cbuffer could be compacted.
* RemoveUniformBuffersFromSource() which works around HLSLCC lack of struct initializers now handles nested structs
Change 3917500 by Rolando.Caloca
DR - Change depth bounds so only the enable bit is in the PSO, allow min/max to be dynamically modified
Change 3964907 by Guillaume.Abadie
Implements RectList topology support in RHI.
Change 3979171 by Mark.Satterthwaite
Copying //Tasks/UE4/Dev-UERNDR-354-mtlpp to Dev-Rendering (//UE4/Dev-Rendering):
Rewrites MetalRHI in terms of mtlpp, which is a C++ wrapper library built around Metal's Objective-C API that attempts to reduce overheads and eliminate resource lifetime errors.
Regarding mtlpp:
- The mtlpp library uses C++ constructor/destructor and smart-pointer style management of Objective-C retain/release calls to prevent over- and under-release problems.
- To reduce Objective-C overheads the mtlpp library caches the internal C-function that implements the Objective-C selectors for the most commonly used Metal protocol types and calls the function directly - this avoids objc_msgSend which does this look-up dynamically and thus improves CPU performance slightly.
- Another advantage is that mtlpp provides infrastructure to extend the Metal API slightly to help improve MetalRHI - the two important aspects are mtlpp::CommandBufferFence which provides a consistent CPU<->GPU synchronisation primitive and sub-buffer allocations from mtlpp::Buffer which allow for far superior memory management.
- Validation functionality is also provided by mtlpp to detect CPU vs. GPU data races and resource lifetime validation - this is expensive and is thus optional and compiled out from Shipping binaries that should be used when performance is most critical. The validation only works between resource modification and *submitted* command-buffers - anything that is being actively encoded on the CPU is ignored and it remains the responsibility of the application to validate the order of operations when encoding.
Apple Platform:
- LLM support which tracks Objective-C objects is enabled only on macOS - we don't have the necessary libraries to intercept and override the internal system calls on iOS.
MetalRHI:
- All the types are switched over, (mostly) insuling the external API from the horror of Metal and Objective-C.
- Buffers are now managed quite differently, small buffers are allocated from a magazine allocator that allocates in fixed blocks from a larger parent buffer, intermediate sized buffers are allocated from a simple heap allocator that wraps a larger buffer and anything of reasonable size (>2Mb) will use the pooled allocator. This *radically* reduces the number of buffer resources, by as much as a factor of 10, because they are now sub-allocated without the need to use MTLHeap or MTLFence so they are performance equivalent to the existing implementation on the GPU and much faster on the CPU. Total memory use is approximately the same.
- Vertex & index buffer management has been updated to reflect changes in the management and to avoid reallocating buffers which provide a Linear Texture (for SRVs) unless strictly necessary. This ensures that even in cases where a dynamic buffer is updated multiple times in a frame it will still work acceptably well.
- The Metal ring-buffer implementation is completely different again, this time it can use Managed memory on macOS which allows for much better performance on eGPUs which will be more and more important for Mac.
- Everyone that needs to wait on a command-buffer fence (rather than a command-buffer itself) now use mtlpp::CommandBufferFence, which prevents race conditions between the different command-buffer handlers (which sometimes execute out of order).
- LLM tracking should now report the same data as the MetalRHI stats group for buffer & texture allocations - there is no segmentation for Vertex/index/Structured/Uniform allocations in Metal so these numbers are going to be wrong and will need to be rethought.
- What will be unseen are the number of small but important resource usage fixes that avoid stale resources from being bound to the device after the point at which they become invalid. This should eliminate a class of errors where the GPU uses a resource pointer that is modified by the CPU and was necessary to satisfy the new mtlpp validation code.
Other:
- Remove the Metal focused workarounds from the ClothBuffer resource binding and related vertex-buffer SRV - these were put in when MetalRHI/MetalShaderFormat couldn't handle float->uint conversions correctly and they should now.
- Fix a validation error caused by trying to render a 0-sized scissor rect which is invalid in Metal and simply pointless elsewhere.
- Consistency of disabling the Manual Vertex Fetch behaviour in shaders.
#jira UERNDR-354
Change 3979312 by Rolando.Caloca
DR - Remove bogus bKeepOriginalSurface parameter in CopyToResolveTarget
Change 4005122 by Rolando.Caloca
DR - Support for PS4 Index Buffer UAVs
Change 4016298 by Guillaume.Abadie
Fixes DOF hybrid scattering on platforms that supports RectList topology.
Change 4018575 by Guillaume.Abadie
Optimises DOF's reduce pass when doing scattering compilation.
Change 4020317 by Guillaume.Abadie
Implements WaveBroadcastIntrinsics.ush.
[CL 4042226 by Marcus Wassmer in Main branch]
Attributes now have a number of possible types (FVector, FVector4, FVector2D, float, int, bool, FName, UObject*) and are exposed as individual flat arrays, indexed by element ID. For example, vertex positions are essentially exposed as an array of FVector which can be directly accessed and modified. This has a number of advantages:
- It is completely extensible: new attributes can be created (even by a third party) and added to a mesh description without requiring a serialization version bump, or any change to the parent structures.
- This is more efficient in batch operations which deal with a number of mesh elements in one go.
- These attribute buffers can potentially be passed directly to third-party libraries without requiring any kind of transformation.
- The distinct types allow for a better representation of the attribute being specified, without invalid values being possible (cf representing a bool value in an FVector4).
Attributes also have default values, and a flags field which confers use-specific properties to them. Editable Mesh currently uses this to determine whether an attribute's value can be automatically initialized by lerping the values of its neighbours, as well as for identifying auto-generated attributes such as tangents/normals. This is desirable as it means that even unknown / third-party attributes can potentially be handled transparently by Editable Mesh, without requiring the code to be extended.
Certain higher-level operations in EditableMesh have been optimized to make full use of vertex instances where possible.
The welding/splitting of identical vertex instances has been removed from here, as the aim is to unify this with mesh utility code elsewhere.
Various bug fixes.
#rb Alexis.Matte
[CL 3794563 by Richard TalbotWatkin in Dev-Geometry branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3173153 on 2016/10/25 by Graeme.Thornton
Pak signing changes
- Integrated into EDL loader
- Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.
Change 3173531 on 2016/10/25 by Steven.Hutton
Removing unused j query packages.
Change 3174743 on 2016/10/26 by Gil.Gribb
UE4 - fixed COTF with EDL
Change 3177896 on 2016/10/28 by Steve.Robb
TSharedPtr and TSharedRef aliasing constructors.
Removal of static_asserts for TSharedPtr<UObject>.
Change 3180343 on 2016/10/31 by Steve.Robb
Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.
Change 3181382 on 2016/11/01 by Steve.Robb
Visual Studio debugger visualizers for delegates.
Change 3182738 on 2016/11/02 by Graeme.Thornton
Re-enable signed archive reader so non-pakpreacher based reads still get signature checked
Change 3183420 on 2016/11/02 by Steve.Robb
Fix to TIsZeroConstructType for TScriptDelegate.
Change 3184872 on 2016/11/03 by Robert.Manuszewski
Fixing memory stomps in SSL certificate initialization (found with mallocstomp)
Change 3184873 on 2016/11/03 by Robert.Manuszewski
Adding thread safety checks to async loading code
Change 3185535 on 2016/11/03 by Ben.Zeigler
Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.
Change 3186636 on 2016/11/04 by Graeme.Thornton
AES encryption integrated into EDL system
Pak signing and AES encryption now configurable by ini files rather than magical text files
Change 3186637 on 2016/11/04 by Graeme.Thornton
Configured pak signing and encryption in ShooterGame for reference
Change 3186639 on 2016/11/04 by Graeme.Thornton
Encryption changes for Orion
* Move pak signing keys into new INI format
* Add AES key and enable INI file encryption
Change 3186661 on 2016/11/04 by Graeme.Thornton
Change unrealpak command line params to accept AES key as a separete parameter
Change 3186670 on 2016/11/04 by Robert.Manuszewski
Adding a null check before using a package pointer in Linker code
#jira UE-38237
Change 3186775 on 2016/11/04 by Graeme.Thornton
Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
- PS4 and Mac fixes. Other platforms might need fixing too!
Change 3186823 on 2016/11/04 by Graeme.Thornton
Fixed an incorrect size check in the EDL pak signing code
Change 3186925 on 2016/11/04 by Graeme.Thornton
Allow UnrealPak to read encryption settings from project ini files
Change 3189885 on 2016/11/08 by Graeme.Thornton
Static analysis warning fix
Change 3190015 on 2016/11/08 by Robert.Manuszewski
Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread
Change 3190253 on 2016/11/08 by Chris.Wood
Improved MDD performance for on the CR server.
[UE-37566] - Improve MDD performance on CR server
Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.
Change 3192993 on 2016/11/10 by Robert.Manuszewski
Thread Heartbeat will no longer report the same hang multiple times.
Change 3193111 on 2016/11/10 by Robert.Manuszewski
Minor change in the condition that detects the same hangs - allow the same callstacks from different threads
Change 3193168 on 2016/11/10 by Steve.Robb
TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.
Change 3193171 on 2016/11/10 by Steve.Robb
Easier debugging of FPendingRegistrantInfo map.
Change 3193188 on 2016/11/10 by Steve.Robb
TAutoPointer deprecated.
Change 3193796 on 2016/11/10 by Graeme.Thornton
Fix pak creation failure when no pak signing keys are supplied
Change 3194524 on 2016/11/11 by Graeme.Thornton
Another static analysis warning fix
Change 3195119 on 2016/11/11 by Steve.Robb
TAutoPtr deprecated.
Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
Some large headers moved into .cpp files.
Change 3196582 on 2016/11/14 by Gil.Gribb
UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.
Change 3196878 on 2016/11/14 by Steve.Robb
TScopedPointer deprecated.
Change 3198061 on 2016/11/15 by Steve.Robb
Class array is no longer regenerated when saving UClasses.
Change 3198065 on 2016/11/15 by Robert.Manuszewski
Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.
Change 3198199 on 2016/11/15 by Robert.Manuszewski
Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.
Change 3199954 on 2016/11/16 by Graeme.Thornton
Removing USING_SIGNED_CONTENT
Change 3200221 on 2016/11/16 by Chris.Wood
CrashReportProcess code cleanup - removing unused using directives
Change 3200232 on 2016/11/16 by Chris.Wood
Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives
InvalidCrashReports now saved to S3 instead of local folder
Removed option tosync MinidumpDiagnostics from Perforce
Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
Added improved logging to Slack with option to monitor MDD performance
Added hourly log folders to MDD logs
Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)
Change 3200382 on 2016/11/16 by Robert.Manuszewski
Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).
Change 3200562 on 2016/11/16 by Gil.Gribb
UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.
Change 3201093 on 2016/11/16 by Ben.Zeigler
#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.
Change 3201736 on 2016/11/17 by Steve.Robb
Strtoi64 platform and TCString functions.
#fyi robert.manuszewski
Change 3201938 on 2016/11/17 by Ben.Woodhouse
Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.
Commandline:
p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp
#fyi robert.manuszewski
Change 3203757 on 2016/11/18 by Robert.Manuszewski
Removing debug code from async loading code.
Change 3203927 on 2016/11/18 by Robert.Manuszewski
Fixing comments in the async loading code.
Change 3204851 on 2016/11/18 by Steve.Robb
Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.
Change 3204854 on 2016/11/18 by Steve.Robb
UEnumProperty.
Change 3205027 on 2016/11/18 by Ben.Zeigler
Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
Add Get() to TSubclassOf so it matches our other wrappers
Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf
Change 3206334 on 2016/11/21 by Ben.Zeigler
#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
Cook finishes but game is still crashing in some cases, so I might adjust this after other testing
Change 3206353 on 2016/11/21 by Ben.Zeigler
Fix EnumProperty to handle EDL preload dependencies properly
Change 3206625 on 2016/11/21 by Ben.Zeigler
Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient
Change 3206937 on 2016/11/21 by Ben.Zeigler
#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
Correctly save enum tag for enum properties, it was being set but not serialized
Change 3207002 on 2016/11/21 by Ben.Zeigler
#jira UE-38799
Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
We should generally outlaw non-transient objects with transient outers, it does not do what people expect.
Change 3207032 on 2016/11/21 by Ben.Zeigler
#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do
[CL 3208270 by Ben Zeigler in Main branch]