Commit Graph

91 Commits

Author SHA1 Message Date
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
Sebastien Hillaire
8428b0ea62 Strata material graph, new pin type representing the mixed and layered BSDF.
Very basic and lots of things are missing but it is tracked.

#rb Charles.deRousiers

[CL 14444435 by Sebastien Hillaire in ue5-main branch]
2020-10-08 03:11:37 -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
Richard TalbotWatkin
51d4cb3f66 Fully deprecated old MeshDescription APIs.
Prepared direct attribute access for deprecation, preferring use of APIs to access static mesh attributes.
Fixed recently merged Enterprise code to comply with new APIs.
Changed all tools to use triangle-centric iteration where possible.
Added new MeshAttributeArray APIs for querying attribute flags, and added a new Mandatory flag.
Various bug fixes.
#rb Alexis.Matte

[CL 13873755 by Richard TalbotWatkin in ue5-main branch]
2020-07-16 08:23:15 -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
arciel rekman
ee07cacef8 Fix inability to distinguish Windows and WindowsNoEditor material SMs (UE-90852).
- ShaderMapId being identical makes the in-memory case alias material SMs when caching resources for -targetplatform=Windows+WindowsNoEditor
- Not a full fix, next up - Niagara and OpenColorIOColor

#rb Ben.Ingram
#jira UE-90852

#ROBOMERGE-SOURCE: CL 13011405 in //UE4/Release-4.25/... via CL 13011409 via CL 13011412
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v683-13008971)

[CL 13011420 by arciel rekman in Main branch]
2020-04-23 14:34:23 -04:00
Rolando Caloca
5b82f15def Copying //UE4/Dev-RenderPlat-Staging@11388153 to //UE4/Main
#rb none
#rnx

[CL 11388545 by Rolando Caloca in Main branch]
2020-02-12 13:27:19 -05:00
Josh Adams
aa9705149b Copying Private-LoadTimes-4.24 stream to Main. Biggest changes are in Materials/Shader memory freezing.
#rb none

[CL 11282608 by Josh Adams in Main branch]
2020-02-06 13:13:41 -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
Juan Canada
f396f56a0b Merging //UE4/Dev-Main@11042002 to Dev-RenderPlat-Staging(//UE4/Dev-Rendering)
#rnx
#rb none

[CL 11075443 by Juan Canada in Dev-RenderPlat-Staging branch]
2020-01-21 14:54:20 -05:00
mickael gilabert
90dc29a2e3 FMaterial::GetStaticParameterSet should not be called when FPlatformProperties::RequiresCookedData() is true. It can create otherwise spikes up to 200ms++
#rnx
#rb ben.ingram, zousar.shaker


#ROBOMERGE-SOURCE: CL 10996668 via CL 10996669 via CL 10996670
#ROBOMERGE-BOT: (v633-10983880)

[CL 10996671 by mickael gilabert in Main branch]
2020-01-15 15:39:20 -05:00
Juan Canada
2ecf4f9708 Merging //UE4/Dev-Main@10877709 to Dev-RenderPlat-Staging(//UE4/Dev-Rendering)
#rnx
#rb none

[CL 10895568 by Juan Canada in Dev-RenderPlat-Staging branch]
2020-01-07 13:45:01 -05:00
ryan durand
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]
2019-12-26 15:32:37 -05:00
sebastien lussier
af0eb69a21 #jira UE-83144
Certain texture maps generated by merge actors would be red instead of greyscale

#rb rolando.caloca, uriel.doyon
#rnx

#ROBOMERGE-SOURCE: CL 10073049 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v574-10069753)

[CL 10073051 by sebastien lussier in Main branch]
2019-11-07 13:44:43 -05:00
Chris Gagnon
8ab0638182 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.24
#rb none

[CL 9325047 by Chris Gagnon in Main branch]
2019-10-01 20:41:42 -04:00
steve robb
14cab21e0c Deprecating ARRAY_COUNT and changing it to UE_ARRAY_COUNT.
Replicated from CL# 7924370.

#rb none


#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 9279060 via CL 9279063
#ROBOMERGE-BOT: (v443-9013191)

[CL 9279836 by steve robb in Main branch]
2019-09-28 08:19:35 -04:00
Marcus Wassmer
6517c68ef5 Copying //UE4/Dev-RenderPlat-Staging@8684824 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 8684840 by Marcus Wassmer in Main branch]
2019-09-14 09:45:25 -04:00
jeremy moore
bb630dc0f6 Add support to material interface for querying RVT paramters
Stubbed out material instance implementation for now
Use the new interface in RVT parameter material expressions


#ROBOMERGE-SOURCE: CL 8556897 via CL 8562562
#ROBOMERGE-BOT: (v406-8472469)

[CL 8562734 by jeremy moore in Main branch]
2019-09-06 18:57:30 -04:00
sebastien lussier
0839438169 Improved the assignation of UV slots for custom interpolators.
- Now reusing unused slots instead of simply adding them after the last used slot.
- Added missing calls to GatherExpressionsForCustomInterpolators()

#rb chris.bunner, jurre.debaare


#ROBOMERGE-OWNER: sebastien.lussier
#ROBOMERGE-AUTHOR: sebastien.lussier
#ROBOMERGE-SOURCE: CL 7321118 via CL 7321791
#ROBOMERGE-BOT: (v371-7306989)

[CL 7321793 by sebastien lussier in Main branch]
2019-07-16 09:48:17 -04:00
sebastien lussier
ab0f0c0bfd Backout CL 7226803 as some issues have been reported with Slate.
#rnx none
#rb marcus.wassmer


#ROBOMERGE-OWNER: sebastien.lussier
#ROBOMERGE-AUTHOR: sebastien.lussier
#ROBOMERGE-SOURCE: CL 7228296 via CL 7231754
#ROBOMERGE-BOT: (v367-6836689)

[CL 7231779 by sebastien lussier in Main branch]
2019-07-08 14:42:08 -04:00
sebastien lussier
3ffe2a8e6b Improved the assignation of UV slots for custom interpolators.
- Now reusing unused slots instead of simply adding them after the last used slot.
- Also added missing calls to GatherExpressionsForCustomInterpolators()

#rb chris.bunner, jurre.debaare


#ROBOMERGE-OWNER: sebastien.lussier
#ROBOMERGE-AUTHOR: sebastien.lussier
#ROBOMERGE-SOURCE: CL 7226803 via CL 7227156
#ROBOMERGE-BOT: (v367-6836689)

[CL 7227160 by sebastien lussier in Main branch]
2019-07-08 09:42:23 -04:00
Rolando Caloca
aa0d2303d6 Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) @ 6944469
#rb none
#rnx

[CL 6944849 by Rolando Caloca in Main branch]
2019-06-11 18:27:07 -04:00
kevin ortegren
454902f20b Now support static switches, quality switches and feature switches for the Shading Model from Material Expression. Done by collecting the shading models used during material translation.
#rb none
[FYI] chris.bunner
#rnx


#ROBOMERGE-SOURCE: CL 6894721 via CL 6903921
#ROBOMERGE-BOT: (v366-6836689)

[CL 6904070 by kevin ortegren in Main branch]
2019-06-08 23:02:14 -04:00
kevin ortegren
2a5abf9ccc Reworked the Pre-Skinned Local Bounds node. Now outputs Half Extents, Extents, Min or Max of the bounding box. Also added tootips to the pins. This was added to the 12 bytes of padding in the primitive uniform buffer, so no increase in size. This is compatible with previous usage of the node.
#rb none
[FYI] krzysztof.narkowicz


#ROBOMERGE-SOURCE: CL 6615540 via CL 6616138
#ROBOMERGE-BOT: (v358-6608238)

[CL 6616149 by kevin ortegren in Main branch]
2019-05-22 20:04:48 -04:00