Commit Graph

120 Commits

Author SHA1 Message Date
jonathan bard
20300d0ac3 Undo changelist 15503762
#fyi will.damon
#rb trivial
#jira none
#rnx

[CL 15503946 by jonathan bard in ue5-main branch]
2021-02-23 15:21:56 -04:00
will damon
dca08af3c6 Fix build.
#rb trivial
#jira none
#rnx

#ROBOMERGE-SOURCE: CL 15502761 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15503762 by will damon in ue5-main branch]
2021-02-23 15:17:29 -04:00
jonathan bard
a9619fae9a Fixed texture viewer not allowing to toggle off the Alpha channel of textures/render targets/etc.
* Added EPixelFormatChannelFlags to indicate which pixel format supports which channel
* Fixed Alpha channel not properly tagged as such for various pixel formats (e.g. BC5 being marked as "Has Alpha Channel")
* Fixed some pixel formats without an enum-to-string (and vice versa) conversion
* Fixed and unified computation of mip number, max mip levels and pixel format for all types of textures supported by the texture viewer

#rb matt.kuhlenschmidt, rolando.caloca
#jira none

[CL 15471436 by jonathan bard in ue5-main branch]
2021-02-19 09:44:24 -04:00
Thomas Engel
d615127f0a Cleanup work in MediaTexture output code to avoid some useless conversions and enable mipped texture samples
#rb none
#jira none

[CL 15307367 by Thomas Engel in ue5-main branch]
2021-02-03 20:11:50 -04:00
Matt Kuhlenschmidt
036e2d0733 Removed all instances of large toolbars with 40x40 icons and reset their layouts to confrom to the new standard toolbar size and tabless design
[CL 14999694 by Matt Kuhlenschmidt in ue5-main branch]
2021-01-06 12:07:36 -04:00
Matt Kuhlenschmidt
6973e6a61e Toolbars can now support a hybrid mode where they include no text unless a specific toolbar entry is called out using the "calloutstyle" for the toolbar entry. This allows toolbars to reduce their width significantly. The level editor now uses this by default but a few other asset editors have been set up for this
[CL 14994802 by Matt Kuhlenschmidt in ue5-main branch]
2021-01-05 16:38:18 -04:00
Uriel Doyon
b9444f338f Added support for UVolumeTexture and UTexture2DArray streaming.
Texture 2D array streaming is implemented through FTexture2DArrayMipAllocator_Reallocate
Volume texture streaming is implemented through FVolumeTextureMipAllocator_Reallocate.
New generic stream out implementation in FTextureStreamOut.

Fixed different issues in FTexture2DMipDataProvider_IO relatively to optional bulks and IO errors.

Added UTexture::GetSurfaceDepth() for 3d textures.
Added UTexture::GetSurfaceArraySize() for array textures (where cubemaps return 6).

Moved UTexture2D::CancelPendingTextureStreaming() and UTexture2D::LevelIndex to UTexture.

Renamed UTexture2DArray::GetNumSlices() to UTexture2DArray::GetArraySize().

Fixed missing "virtual" keyword in base class UTextureMipDataProviderFactory.

Updated the texture editor UI so that it shows Texture2DArray array sizes and Texture3D depth.
Unified the UI for cubemaps so that it shows as an array with size 6.

Reimplemented "LODGroups" command to make it coherent with latest changes.

#rb jian.ru, danny.couture, matt.peters
#fyi mihnea.balta
#jira 	UE-97975, UE-81395, UE-102061, UE-84427

[CL 14832616 by Uriel Doyon in ue5-main branch]
2020-12-01 20:32:18 -04:00
Matt Kuhlenschmidt
ea3bead0dd Fixed cut off text in texture editor toolbar
[CL 14688686 by Matt Kuhlenschmidt in ue5-main branch]
2020-11-09 10:14:14 -04:00
Lauren Barnes
3c4fe61aba Removing redundant conditional
#rb trivial
#fyi Matt.Kuhlenschmidt

[CL 14602681 by Lauren Barnes in ue5-main branch]
2020-10-28 15:44:40 -04:00
Matt Kuhlenschmidt
e618c65937 Texture editor reskin
[CL 14599258 by Matt Kuhlenschmidt in ue5-main branch]
2020-10-28 10:59:23 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
brooke hubert
48113fc77e Adding EditorFramework to build.cs files
#rnx
#Jira UE-96448
#rb chris.gagnon

[CL 14114839 by brooke hubert in ue5-main branch]
2020-08-14 13:24:16 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Matt Kuhlenschmidt
99a4c0ba88 Removed SDockableTab which was the precursor to SDockTab and not used for anything since pre UE4 1.0
[CL 13798333 by Matt Kuhlenschmidt in ue5-main branch]
2020-06-30 13:51:36 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
danny couture
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]
2020-06-16 22:16:25 -04:00
Matt Kuhlenschmidt
3a80d846a0 Renamed existing viewport toolbar style to LegacyViewportToolbar. Keeping it around for backwards compat but it wil no longer be used in the editor
#rb none

[CL 13277641 by Matt Kuhlenschmidt in ue5-main branch]
2020-05-12 12:43:41 -04:00
uriel doyon
d90de75955 Fixed possible division by 0 warnings.
#jira UE-92225
#rb rolando.caloca
#lockdown marcus.wassmer

#ROBOMERGE-SOURCE: CL 12936941 in //UE4/Release-4.25/... via CL 12936944 via CL 12936950
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12936954 by uriel doyon in Main branch]
2020-04-20 16:18:25 -04:00
Chris Gagnon
76c6bcbfeb UE4 Main merged to Dev-Tools-Staging at CL 11164391
#rb none

[CL 11171981 by Chris Gagnon in Dev-Tools-Staging branch]
2020-01-29 20:39:37 -05:00
Rolando Caloca
bbb9564388 Copying //UE4/Dev-RenderPlat-Staging@11110326 to //UE4/Main
#rb none
#rnx

[CL 11110369 by Rolando Caloca in Main branch]
2020-01-24 18:07:01 -05:00
JeanMichel Dignard
84facd6d15 Copy from dev-enterprise cl 11097196
#rb none
#rnx

[CL 11099277 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-23 16:28:59 -05:00
ryan durand
627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00
Robert Manuszewski
7b6f840f7f Copying //UE4/Dev-Core @ 10708550 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 10708666 by Robert Manuszewski in Main branch]
2019-12-13 11:07:03 -05:00