mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
ff158b6e95251349fb6c4ff713bdeaa7965e0c81
51 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
ff158b6e95 |
Async Texture Compilation
- Feature can be activated in the Experimental section of the Editor Settings
- Replace Texture2D/TextureCube resources by placeholders until their PlatformData is ready
- Add a utility class allowing to encapsulate raw field pointers without breaking compatibility
- Protect PlatformData from unsafe access through encapsulation.
- Protect texture's resource from race conditions between game and render threads through encapsulation.
- This allows to get rid of FlushRenderingCommands and long game-thread stutters when Updating a texture's resource.
- UpdateResource was never safe to call without a FlushRenderingCommands and multiple call-site are doing exactly that, this will fix those cases.
- Those were probably undetected due to their low occurence rate under normal conditions but can easily be reproed during async texture compilation on 32 cores.
- Force wait on required texture compilations for MaterialBaking, ProxyMesh, Thumbnail generation for disk usage
- Wait on all textures compilation whenever a wait for all shaders compilation is requested for safety (i.e. screenshot)
- Compile UI and heightmap textures with higher priority to reduce visual artefacts
- Increase priority of texture that have been rendered to improve time-to-usefulness of the editor under low core count
- Async compilation is disabled for -game / non-editor mode as there is currently no support for async bulk data loading from external files
- Properly cancel async tasks when UTexture is garbage collected before the compilation is finished
- Show progress when explicitly waiting on compilation
- Changing the mip settings in the texture editor (or any settings requiring the running platform data to be recomputed) will now be processed asynchronously.
DEBUGGING
- Can be forcibly enabled/disabled through command-line via -asynctexturecompilation=[off, on, paused]
- Can pause texture compilation using Editor.AsyncTextureCompilation = 2 or -asynctexturecompilation=paused
- Can manually resume a specified amount of paused compilation using Editor.AsyncTextureCompilationResume [Num]
- Can forcibly wait on all compilation using Editor.AsyncTextureCompilationFlushAll
BENCHMARKS
- 3m15s to 1m20s when loading Apollo_Terrain with no textures in DDC (AMD TR 3970X)
- 6m45s to 1m11s when loading Apollo_Terrain with no textures in DDC (-corelimit=8)
- 3m10s to 1m54s when lauching PIE on Apollo_Terrain with no textures in DDC (AMD TR 3970X)
- 7m43s to 1m36s when lauching PIE on Apollo_Terrain with no textures in DDC (-corelimit=8)
- 0m57s to 0m42s when importing Attic_NVIDIA.usd with no textures in DDC (AMD TR 3970X)
- 2m14s to 0m35s when importing Attic_NVIDIA.usd with no textures in DDC (-corelimit=4)
TESTS
- Success on all material baking tests from EngineTests with -asynctexturecompilation=paused
- Runned with -corelimit=1 all the way to unlimited
- Cooking worked
- Opening the texture editor/material editor will force the compilation to finish like expected.
- Changing a setting in the texture editor will recompile async, even allowing to close the editor and continue doing other changes.
- Unpausing the compilation will update the texture thumbnails properly.
- Started with -asynctexturecompilation=paused, and then unpaused after a map loading, and then into a PIE session to stresstest UpdateResources.
- Tested both dx11/dx12
- Vulkan fails on Fortnite even with -asynctexturecompilation=off because of Landscape weigthmap, not this CL.
- Compiled and tested FortniteGame / UE4 / ShooterGame projects
#rb Uriel.Doyon, Francis.Hurteau
[CL 13694814 by danny couture in ue5-main branch]
|
||
|
|
533509d73b |
Add an option to downscale textures without mips. Accepts values between 1.0 and 8.0.
Can be overriden per-platform, for a specifc texture or texture group. Downscaling will keep texure size divisible by 4 so they can still be compressed #rb chris.bunner #ROBOMERGE-SOURCE: CL 12400453 via CL 12400465 via CL 12400467 #ROBOMERGE-BOT: (v671-12333473) [CL 12402238 by dmitriy dyomin in Release-Engine-Staging branch] |
||
|
|
99b55fb883 |
Merged main @ cl 10981486
#rb none #rnx [CL 10985598 by JeanMichel Dignard in Dev-Tools-Staging branch] |
||
|
|
6e4b0a168d |
Hot fix for a crash where we ended up creating more mip map level then we should had.
This issue was happening after using LeaveExistingMips for the MipGenSettings and setting a maximun texture size. Added a validation when getting that data from the ddc as it could be invalid. #jira UE-85228 #rb JeanMichel.Dignard, Mihnea.Balta #lockdown nick.penwarden #ROBOMERGE-SOURCE: CL 10950746 in //UE4/Release-4.24/... #ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v632-10940481) [CL 10950747 by julien stjean in Main branch] |
||
|
|
70d074639f |
Merging //UE4/Dev-Main @ 10886849 to Dev-Tools-Staging (//UE4/Dev-Tools-Staging)
#rb none #rnx [CL 10906274 by JeanMichel Dignard in Dev-Tools-Staging branch] |
||
|
|
471d972e62 |
Updating copyright for Engine Developer.
#rnx #rb none #ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902 #ROBOMERGE-BOT: (v613-10869866) [CL 10870584 by ryan durand in Main branch] |
||
|
|
276d3af9b8 |
Copy up //UE4/Dev-Enterprise/... to //UE4/Dev-Tools-Staging/...
#rb none [CL 10371791 by JeanLuc Corenthin in Dev-Tools-Staging branch] |
||
|
|
33e6e98b5c |
Add more info to failed composite texture
#rb trivial #rnx #ROBOMERGE-SOURCE: CL 10017753 via CL 10017763 via CL 10020182 via CL 10020254 #ROBOMERGE-BOT: (v562-10004402) [CL 10020374 by rolando caloca in Main branch] |
||
|
|
3ed35eb908 |
PR #6292: Engine changes for USD plugin (Contributed by niexuchina)
#jira UE-82046 #rb none #ROBOMERGE-SOURCE: CL 9702186 in //UE4/Release-4.24/... #ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v539-9700858) [CL 9702189 by jeanmichel dignard in Main branch] |
||
|
|
1a30325d6f |
Copying //UE4/Dev-RenderPlat-Staging@9551419 to //UE4/Main
#rb none #rnx [CL 9551447 by Rolando Caloca in Main branch] |
||
|
|
560d7ebf39 |
Add YCoCg compression with per block scaling to the texture compression module
Runtime virtual texture uses streaming virtual texture to fill pages at distance We recently moved to YCoCg encoding in the compressed base color texture to address visual quality issues The runtime virtual texture used a per block scaling, but the offline generated streaming texture didn't The offline texture looks much worse without the block scaling so that we see color artifacts in the distance before this change [CODEREVIEW] Sebastien.Lussier #ROBOMERGE-SOURCE: CL 9325494 via CL 9325668 via CL 9326152 via CL 9326166 via CL 9326179 #ROBOMERGE-BOT: (v455-9298202) [CL 9326194 by jeremy moore in Main branch] |
||
|
|
6517c68ef5 |
Copying //UE4/Dev-RenderPlat-Staging@8684824 to Dev-Main (//UE4/Dev-Main)
#rb none [CL 8684840 by Marcus Wassmer in Main branch] |
||
|
|
311a249228 |
GenerateMipChain() and AdjustImageColors() are made public and changed to ITextureCompressorModule::GenerateMipChain() and ITextureCompressorModule::AdjustImageColors(). This allows us to export the specific MipMap levels and the textures with adjustments to PNG.
Fix SRGB of 16bit cubemap Import the existing texture asset without Dialog box New parameter to SuppressImportOverwriteDialog which can suppress the dialog box that, when importing over an existing texture, force to overwrite its settings. #jira UE-78899 PR #6123: Texture changes for NVIDIA USD plugin. #rb jeanmichel.dignard #lockdown nick.penwarden #ROBOMERGE-SOURCE: CL 8127249 in //UE4/Release-4.23/... #ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v401-8057353) [CL 8127258 by simon tourangeau in Main branch] |
||
|
|
aa0d2303d6 |
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) @ 6944469
#rb none #rnx [CL 6944849 by Rolando Caloca in Main branch] |
||
|
|
6995e20184 |
Merging //UE4/Dev-Main@4848702 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none #lockdown rolando.caloca [CL 4854488 by Marcus Wassmer in Dev-Rendering branch] |
||
|
|
a48e767b94 |
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none [CL 4835066 by Chris Gagnon in Dev-Editor branch] |
||
|
|
e3ac01dbbf |
Fix crash when taking a ref of a lambda function (Thanks Christina Tempelaarl!)
#jira UE-69040 #rb Arciel.Rekman, Christina.Tempelaarl #lockdown matt.kuhlenschmidt [CL 4815152 by Brandon Schaefer in Dev-Editor branch] |
||
|
|
732810a13b |
DR - Copying //UE4/Dev-Main@4785067 to //UE4-DevRendering
#rb none #rnx #lockdown Marcus.Wassmer [CL 4790611 by Rolando Caloca in Dev-Rendering branch] |
||
|
|
1dd3e0189f |
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none [CL 4730305 by Chris Gagnon in Dev-Editor branch] |
||
|
|
fee98d3ca5 |
Merging //UE4/Dev-Main@4729937 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none [CL 4730169 by Marcus Wassmer in Dev-Rendering branch] |
||
|
|
cbfcbbb93b |
Merging //UE4/Dev-Main@4662404 to Dev-Rendering (//UE4/Dev-Rendering)
#rb none Should be just copyright updates [CL 4680440 by Marcus Wassmer in Dev-Rendering branch] |
||
|
|
8c905859c2 |
Added comment re: when AdjustImageColors should be multithreaded.
#jira UE-62693 #rb none [CL 4679068 by Christina TempelaarL in Dev-Editor branch] |
||
|
|
5e71af3f97 |
Fixed Texture Editor HSV controls to work with HDR textures.
#jira UE-62693 #rb matt.kuhlenschmidt [CL 4678963 by Christina TempelaarL in Dev-Editor branch] |
||
|
|
8fc25ea18e |
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none [CL 4676797 by Chris Gagnon in Dev-Editor branch] |
||
|
|
b46b1ce9ed |
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 4048875)
#lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3808185 by Cody.Albert Added missing calls to FEditorViewportClient::AddReferencedObjects in overrides Change 3809824 by Michael.Trepka Improved the way we generate groups in Xcode project's source code navigator. They are now sorted alphabetically and have correct paths so Xcode no longer displays them in red. Also, added __INTELLISENSE__ to preprocessor definitions for indexing to improve indexing without game header files generated. Change 3810089 by Jamie.Dale Fixed PO files failing to import translations containing only whitespace Change 3811281 by Matt.Kuhlenschmidt PR #4331: Toggle SIE shortcut only in PIE (Contributed by projectgheist) Change 3813031 by Matt.Kuhlenschmidt Fix undocked tabs not dropping at users mouse location #jira UE-53427 Change 3813361 by Brandon.Schaefer Print what SDL video driver we are using Change 3818430 by Matt.Kuhlenschmidt PR #4365: Incorrect font name and forgotten undef (Contributed by projectgheist) Change 3818432 by Matt.Kuhlenschmidt PR #4366: Asset Color Strip updates correct on drag and drop (Contributed by projectgheist) Change 3818436 by Matt.Kuhlenschmidt PR #4367: Improved logging (Contributed by projectgheist) Change 3819886 by Matt.Kuhlenschmidt Add a way to optionally disable the warning about referenced actors being moved to other levels. Useful for bulk actor moves via script Change 3819888 by Matt.Kuhlenschmidt Avoid crashing when a window size becomes too large to render. Instead just ensure and clamp to the maximum allowed size. Avoids crashes where the screen dimensions are saved with super large numbers for unknown reasons Change 3821773 by Brandon.Schaefer Fix crash when importing to level #jira UE-31573 Change 3821892 by Jamie.Dale Improved the localized asset cooking so that it only cooks L10N variants if their source asset is cooked #jira UE-53010 Change 3823714 by Christina.TempelaarL #jira UE-52179 added support for grayscale PSD files Change 3826805 by Christina.TempelaarL #jira UE-49636 SceneCaptureComponent2D hidden actor and show only actors disabled in blueprints #jira UE-53445 SceneCaptureComponent2D hidden actors always disabled in details layout Change 3828444 by Anthony.Bills Add LXC container script for building third party libraries. The intention is that this should become the only way to rebuild the third party libraries that require system dependencies not included in the cross-compile toolchain and also to rebuild the toolchains. Other third party libraries without any system dependencies could be rebuilt via the cross-compile toolchains/UBT. This script has been tested running on CentOS 7 and Ubuntu 17.10. Buy default the x86 and x86_64 builds will be built against a CentOS 6 container (and targeting glibc 1.12) and the aarch64 and armhf builds will use an Ubuntu Ubuntu Trusty (14.04) but this is not yet complete. Change 3828754 by Brandon.Schaefer Linux: Fix gamepad thumbstick clicks not registering (github #4209 thanks J??rn M??ller) #jira UE-45722 #review-3828733 Arciel.Rekman Change 3830414 by Brandon.Schaefer Remove circular referencing to a parent window. Move to use AddSP vs AddRaw as well to be safe manually remove ourselves from the selection event delegate list due to Linux pending deletion of windows. Looks like this should fix UE-28322 as well which I've removed the work around placed in for that. #jira UE-53918 #review @michael.trepka, @matt.kuhlenschmidt, @arciel.rekman Change 3830916 by Brandon.Schaefer More verbose message about missing VK extensions (from Marcin Undak) #review-3830710 marcin.undak, arciel.rekman Change 3831339 by Brandon.Schaefer Default to as-needed for debug mode #jira none #review-3830658 Arciel.Rekman Change 3833102 by Jamie.Dale Re-added warning for duplicate package localization IDs when gathering asset localization Change 3834600 by Jamie.Dale Optimized asset registry filter intersection Change 3838024 by Brandon.Schaefer Remove tracking of CLion/CMake build files (from github #4346 thanks reapazor!) #jira UE-53551 #review-3835803 arciel.rekman Change 3839969 by Michael.Dupuis #jira UE-52289: When OnRegister is called on the component make sure our PerInstanceRenderData is up to date Prevent a possible crash if ClearInstanceSelection was called on a component with no PerInstanceRenderData existing Change 3840049 by Michael.Dupuis #jira UE-52975: Was always performing the equivalent of an Add, so now we use the Transform during the duplicate Change 3840071 by Matt.Kuhlenschmidt - Combine some shader params for slate in order to reduce overhead setting uniform buffers - Added better stats for slate draw call rendering - cleaned up huge lambda in Slate rendering main function so we can read the main slate rendering function again Change 3840291 by Michael.Dupuis #jira UE-53053: Was having a mismatch between the remove reorder and the actual remove Change 3840840 by Michael.Dupuis #jira UE-53944: Make sure the LOD generated is in the valid range to prevent the crash Change 3842072 by Michael.Dupuis #jira UE-50299: Include NumSubsection in calculation of component quad factor Change 3842487 by Christina.TempelaarL #jira UE-50573 HighResShot has wrong res in immersive mode Change 3845702 by Matt.Kuhlenschmidt PR #4381: DefaultASTCQualityBySpeed too high max value. (Contributed by kallehamalainen) Change 3845706 by Matt.Kuhlenschmidt PR #4388: Only restore window if minimized (Contributed by projectgheist) Change 3845993 by Christina.TempelaarL #jira UE-41558 crash when selecting PostProcessingVolumes in separate levels Change 3856395 by Brandon.Schaefer No longer using ALAudio on Linux #jira UE-53717 Change 3858324 by Michael.Trepka Preserve command line arguments in Xcode project when regenerating it Change 3858365 by Michael.Dupuis #jira UE-52049: There was a case where adding and removing multiple time would lead to reordering the instances and this would cause the regeneration of the random stream for all the reorded instances. Change 3858492 by Michael.Trepka Updated dependencies for Mac dSYM files so that only cross-referenced modules have their dSYMs recreated on subsequent builds instead of all modules. Change 3859470 by Michael.Trepka CIS fix. Make sure a scheme file exists before trying to read it when generating Xcode project. Change 3859900 by Joe.Conley Fix for "Check Out Assets" window not properly receiving focus. Change 3865218 by Michael.Dupuis #jira UE-45784: Exposed the possibility to edit LDMaxDrawDistance Change 3866957 by Michael.Dupuis #jira UE-42509: Added BodyInstance to ULandscapeSplineSegment and ULandscapeSplineControlPoint Deprecated bEnabledCollision and migrate data as it's replaced by BodyInstance Change 3867220 by Cody.Albert Fixed Project Launcher scrollbar to properly stay anchored at the bottom of the scroll area. Change 3869117 by Michael.Dupuis #jira UE-42509:Fixed compile error when not having editor data Change 3872478 by Arciel.Rekman Linux: disable PIE if compiler enables it by default. Change 3874786 by Michael.Dupuis #jira UE-46925: Remove the guessing functionality when importing a heightmap, and instead propose to the user valid size that can be used for the import through a combo button. Improved usability of the UI by disabling size field when no file was specified Change 3875859 by Jamie.Dale Implemented our own canonization for culture codes Change 3877604 by Cody.Albert We now validate actor names passed to SetActorLabel to ensure None isn't passed in, which can corrupt levels Change 3877777 by Nick.Shin PhysX build fix - this came from CL: 3809757 #jira UE-54924 Cannot rebuild Apex/PhysX/NvCloth .emscripten missing Change 3881693 by Alexis.Matte Fix local path search to not search in memory only #jira UE-55018 Change 3882512 by Michael.Dupuis #jira none : Fixed screen size calculation to take aspect ratio into account correctly Change 3886926 by Arciel.Rekman Linux: fixed checking clang settings during the cross-build (UE-55132). #jira UE-55132 Change 3887080 by Anthony.Bills Updated SDL2 build script. - Now allows compiling inside a CentOS 6 or Ubuntu 12.04 container with wayland support when using the ContainerBuildThirdParty.sh. - Added multiple build arch support to the BuildThirdParty script and pass this down to the SDL2 build script. Change 3887260 by Arciel.Rekman Linux: fix leaking process handles in the cross-toolchain. Change 3889072 by Brandon.Schaefer Fix RPath workaround, to better handle both cases #jira UE-55150 #review-3888119 @Arciel.Rekman, @Ben.Marsh Change 3892546 by Alexis.Matte Remove fbx exporter welded vertices options #jira UE-51575 Change 3893516 by Michael.Dupuis Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0 Change 3894365 by Brandon.Schaefer Pass FileReference over a raw string to the LinkEnvironment #jira none #review-3894241 @Ben.Marsh, @Arciel.Rekman Change 3895251 by Brandon.Schaefer Use X11 pointer barriers to bound the cursor to a region over warping the pointers. Patch from Cengiz #jira UE-25615 #jira UE-30714 #review-3894886 @Arciel.Rekman Change 3897541 by Michael.Dupuis #jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material Change 3904143 by Rex.Hill #jira UE-55366: Fix crash when overwriting existing level during level save as #jira UE-42426: Map '_BuiltData' can now be deleted when selected at same time as map - Map '_BuiltData' package is now garbage collected when switching maps in the editor Change 3906373 by Brandon.Schaefer Fix splash image. Use alias format for big/little endian machines. #jira none Change 3906711 by Rex.Hill #jira UE-42426: BuiltData now deleted with maps Change 3907221 by Cody.Albert Add support for relative asset source paths in content plugins Change 3911670 by Alexis.Matte Fix assetimportdata creation owner #jira UE-55567 Change 3912382 by Anthony.Bills Linux: Add binaries for GoogleTest and add to BuildThirdParty script. Change 3914634 by Cody.Albert Added missing include that could cause compile errors if IWYU was disabled. Change 3916227 by Cody.Albert Fixing some cases where we check #ifdef WITH_EDITOR instead of #if WITH_EDITOR Change 3917245 by Michael.Dupuis #jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsection and material containing grass spawning Change 3918331 by Anthony.Bills Linux: Bundled Mono - Explicilty pick libc.so.6 as libc.so is a linker script and store the config file directly. Change 3920191 by Rex.Hill #jira UE-44197 Fix saving sub-level level causing MapBuildData to be deleted Improved MapBuildData rename, move, duplicate, copy Change 3920333 by Matt.Kuhlenschmidt Render target clear color property now settable in editor #jira UE-55347 Change 3926094 by Michael.Dupuis #jira UE-51502: Added some min/max values to foliage and grass settings to prevent overflow/crash #coderevew jack.porter Change 3926243 by Michael.Dupuis #jira UE-54669: cleaned up invalid/duplicate shader and moved some shaders to appropriate list Change 3926760 by Jamie.Dale Added support for TTC/OTC fonts These can be used via a sub-face index on FFontData, which can be set via a new combo in the font editor. You can also see the cached list of sub-faces within a font file from the UFontFace asset. Change 3927793 by Anthony.Bills Mono: Remove SharpZipLib and references from bundled Mono. #review-3887212 @ben.marsh, @michael.trepka Change 3928029 by Anthony.Bills Linux: Add support for UnrealVersionSelector. - Supports using UVS to launch without a project file. This will then launch the selected engine's project wizard. - Linux UVS uses Slate for the version selection and error log dialogs. - Mime-types and desktop file support added to DesktopPlatformLinux to allow associating with UVS as per the Windows binary and git builds. - Icons added for Linux. #review-3882197 @arciel.rekman, @brandon.schaefer Change 3931293 by Alexis.Matte Add generic Levenshtein edit distance to core algo. This algorithm will help suggesting name matching when users have to resolve material name conflict when re-import fbx meshes. Add also plenty of automation tests for it. #jira none Change 3931436 by Arciel.Rekman Stop RHI thread before shutting down RHI. - Prevents crashes for some drivers that create TLS objects with destructors; those destructors will get called after the thread exited, but the library will already be unloaded on RHI shutdown. Change |