Commit Graph

127 Commits

Author SHA1 Message Date
cody albert
f0fce45816 Corrected texture editor's Resource Size display to make it clear that the size is in kilobytes (KB) instead of kilobits (Kb)
#rb none

#ROBOMERGE-SOURCE: CL 16606105 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16606113 by cody albert in ue5-release-engine-test branch]
2021-06-09 11:36:43 -04:00
louise rasmussen
69755948a0 Fixes crash when opening the Texture Asset Editor
#JIRA  UE-115795
#rb Lauren.Barnes
#preflight 60a40b4fde63e2000179fa02

#ROBOMERGE-SOURCE: CL 16374720 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v804-16311228)

[CL 16374744 by louise rasmussen in ue5-release-engine-test branch]
2021-05-18 16:01:14 -04:00
danny couture
25c6066c53 Prepare for the deprecation of direct access to the Resource member of UTexture in favor of the GetResource() accessor.
#rb Francis.Hurteau
#preflight 609e5182ef86d30001ad0a18
#rnx

#ROBOMERGE-SOURCE: CL 16328103 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v804-16311228)

[CL 16328107 by danny couture in ue5-release-engine-test branch]
2021-05-14 07:17:49 -04:00
Lauren Barnes
39f1923ed0 Deprecating .Icon() as a slate attribute on SDockTab. By default, tab icons fall back to using the one for the tab spawner's menu item. SetTabIcon can be used in the edge cases where an icon needs to be set that doesn't match the default. Updating all found cases of .Icon() usage on SDockTab.
#jira UETOOL-3429
#preflight 60996a2bdd2e00000126ff25
#rb Matt.Kuhlenschmidt

[CL 16251489 by Lauren Barnes in ue5-main branch]
2021-05-10 14:19:15 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
Ben Ingram
e6c2c85df5 Fixes for UDIM VTs in texture editor
UDIMs use transformed UVs, account for these when computing visible regions
#rb none
#jira none

[CL 15926164 by Ben Ingram in ue5-main branch]
2021-04-05 21:56:26 -04:00
julien stjean
d28c15b47a Removed a reference to UE4 in a comment.
#jira UE-111722
#rb trivial

#ROBOMERGE-SOURCE: CL 15915300 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15915304 by julien stjean in ue5-main branch]
2021-04-05 09:21:01 -04:00
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