Commit Graph

137 Commits

Author SHA1 Message Date
josie yang
742d1c2a03 Morph target engine modifications for 3rd party plugin
[FYI] alexis.matte, brian.white, christopher.waters, mihnea.balta, rolando.caloca, will.damon, halfdan.ingvarsson, kevin.ortegren

#ROBOMERGE-AUTHOR: josie.yang
#ROBOMERGE-SOURCE: CL 17444191 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17444481 by josie yang in ue5-release-engine-test branch]
2021-09-07 10:20:14 -04:00
yangke li
abb9346236 add ARM ASTC Encoder, support HDR profile, add astc hdr pixel format for opengl, vulkan and metal
todo:  hdr decode at runtime when astc hdr not supported
needs to figure out why ARM Encoder is much slower than ISPC, use ARM only for HDR Textures might be a good compromise.
#jira UE-119388

#ROBOMERGE-AUTHOR: yangke.li
#ROBOMERGE-SOURCE: CL 17441496 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17441499 by yangke li in ue5-release-engine-test branch]
2021-09-07 01:24:23 -04:00
aurel cordonnier
7f517562d5 Merge from Release-Engine-Staging @ 17438845 to Release-Engine-Test
This represents UE4/Main @17430120 and Dev-PerfTest @17437669

[CL 17439044 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-06 12:23:53 -04:00
arciel rekman
3243e21ef8 Nanite per-project killswitch with an artist-friendly message.
#rb Rune.Stubbe
[REVIEW] [at]Graham.Wihlidal, [at]Rune.Stubbe
#jira UE-117561
#preflight 611a79b7aabad10001bfd9c6

#ROBOMERGE-SOURCE: CL 17177746 via CL 17177758
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17177765 by arciel rekman in ue5-release-engine-test branch]
2021-08-16 12:55:21 -04:00
brandon schaefer
6318073cc1 Iterate over all the TargetPlatforms to find which ShaderPlatform they support to flip the correct flags
Currently no platform handles support different but there may be a case later in which some TargetPlatform has a different Support/NoSupport then another
This would cause the Mask to possibly be Enable/Disabled for a specific platform that could be incorrect. Overall a global mask is not an ideal setup for this

#jira UE-120659
#rb Arciel.Rekman, Mihnea.Balta

#ROBOMERGE-SOURCE: CL 17105605 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v854-17104634)

[CL 17105806 by brandon schaefer in ue5-release-engine-test branch]
2021-08-09 14:35:14 -04:00
dmitriy dyomin
b0828d6beb Mobile specific implementation for auto-instancing. (disabled by default atm)
Run a compute job that packs most commonly used instance data (LocalToWorld matrix and some other bits - 80 bytes) into per-instance vertex buffer. Vertex shader does not have access to GPUScene and instead loads instance data from a per-instance vertex buffer. If it needs more primitive/instance data than available then it will load it from Primitive UB, binding unique uniform buffer and breaking auto-instancing. Pixel shader has a full access to a GPUScene
There are 3 ways how FSceneDataIntermediates gets populated
 1. PrimitiveId + GPUScene (Desktop)
 2. Per-Instance data + Primitive UB (Mobile)
 3. Primitive UB (auto-instancing disabled)
Details for GPUScene specific vertex inputs and access to FSceneDataIntermediates are hidden behind a macro:
VF_GPUSCENE_DECLARE_INPUT_BLOCK
VF_GPUSCENE_GET_INTERMEDIATES
FSceneDataIntermediates is now stored in FVertexFactoryIntermediates, FMaterialVertexParameters. Added a few GetPrimitiveData() overloads that allows you to access PrimitiveData depending on current context. Removed most of the cases where GetPrimitiveData() gets used with PrimitiveId.
#rb Ola.Ollson

#ROBOMERGE-SOURCE: CL 17093848 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17093856 by dmitriy dyomin in ue5-release-engine-test branch]
2021-08-07 07:20:52 -04:00
ben ingram
47b7154e10 Fix cvar access
#rb none
#jira none

#ROBOMERGE-SOURCE: CL 16898296 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16898309 by ben ingram in ue5-release-engine-test branch]
2021-07-20 12:57:10 -04:00
arciel rekman
a09bfec58c Properly support r.ShaderPipelines when filtering out non-pipelined shader types.
- Also, include this in the DDC key.

#rb Kevin.Ortegren
[at]Jason.Nadro
#jira UE-117881

#ROBOMERGE-SOURCE: CL 16897479 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16897491 by arciel rekman in ue5-release-engine-test branch]
2021-07-20 11:42:43 -04:00
yangke li
702c9dc694 add RGB555A1 texture format support(not supported on Mac)
useful for RVT on mobile platforms, to save the cost of runtime compression
#rb Dmitriy.Dyomin mihnea.balta

#ROBOMERGE-SOURCE: CL 16872220 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16872238 by yangke li in ue5-release-engine-test branch]
2021-07-16 11:40:02 -04:00
jian ru
c1b9b1a758 Keep the default values of GDistanceFieldsPlatformMask and GRayTracingPlatformMask if their corresponding settings are not found in init files
#jira none
[FYI] krzysztof.narkowicz

#ROBOMERGE-SOURCE: CL 16853564 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16853580 by jian ru in ue5-release-engine-test branch]
2021-07-14 15:10:01 -04:00
krzysztof narkowicz
2cdfb99ef8 Added per platform setting to toggle distance field support. If it's disabled then no distance data will be cooked and distance fields will be disabled on the target platform.
Renamed FDataDrivenPlatformInfo::AudioCompressionSettingsIniSectionName to TargetSettingsIniSectionName. It's now used to populate PlatformMask at runtime, to make sure that it matches between cook and runtime. Before it was possible to cook with e.g. GRayTracingPlaformMask=0, but then the cooked game would run with GRayTracingPlaformMask=1.

#rb Patrick.Kelly
[FYI] Patrick.Kelly, Daniel.Wright, Josh.Adams

#ROBOMERGE-OWNER: krzysztof.narkowicz
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 16825469 via CL 16825718
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16825756 by krzysztof narkowicz in ue5-release-engine-test branch]
2021-07-12 11:23:28 -04:00
guillaume abadie
1b502fd981 Implements r.AntiAliasingMethod
#rb none
#preflight 60d33c8cd9586b000132acac

#ROBOMERGE-OWNER: guillaume.abadie
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 16758022 via CL 16758023
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
#ROBOMERGE-CONFLICT from-shelf

[CL 16758219 by guillaume abadie in ue5-release-engine-test branch]
2021-06-23 11:54:40 -04:00
aurel cordonnier
02c0f425e8 Copy up from Release-Engine-Staging @ 16738359
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719

[CL 16738582 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-22 00:27:54 -04:00
florin pascu
5c1e32c73c RG11B10 + SceneDepthAux 16/32F + Alpha Propagate
For Forward ES31
 Default SceneColor RG11B10 + R16F\32F Depth texture
 With PropagateAlpha on RGBA16F + R16F\32F
 PostProcess we sample SceneDepthAux for Depth
For Deferred ES31
 SceneDepthAux only for Metal
 PropagateAlpha not working yet
 PostProcess we sample SceneDepthTexture for Depth

cvar to change Depth texture from 16 to 32Fr.Mobile.SceneDepthAux
cvar for AlphaPropagate r.Mobile.PropagateAlpha
#jira UE-98033
#rb Dmitriy.Dyomin, Carl.Lloyd, Jack.Porter

#ROBOMERGE-SOURCE: CL 16644095 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16644108 by florin pascu in ue5-release-engine-test branch]
2021-06-11 13:47:20 -04:00
rolando caloca
c589fc9673 UE5EA - Fix threading issue when updating devices with Turnkey
One should not access target platform manager outside the game thread - in this case the target platforms array was invalidated while rendering thread was requesting info which was also causing it to re-initialize
#rb Josh.Adams
#jira UE-116932
#lockdown Cristina.Riveron

#ROBOMERGE-SOURCE: CL 16596321 in //UE5/Release-5.0-EarlyAccess/... via CL 16596377
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16596384 by rolando caloca in ue5-release-engine-test branch]
2021-06-08 19:08:14 -04:00
Wei Liu
de5a48902e 1. Fix a bug of missing velocity due to wrong LoadAction for parallel rendering.
2. Add a project setting option to avoid generating velocity and TAA shader unexpectly for mobile platform.

#jira none

#rb Dmitriy.Dyomin, Guillaume.Abadie

[CL 16584354 by Wei Liu in ue5-main branch]
2021-06-08 06:01:07 -04:00
zach bethel
d4b14c0e3b Reworking default textures to be read-only to reduce RDG tracking overhead.
#rb charles.derousiers

[CL 16456671 by zach bethel in ue5-main branch]
2021-05-25 17:12:22 -04:00
Andrew Davidson
3ddc3a4da3 Merge up from //UE5/Dev-LargeWorldCoordinates
#rb none

[CL 16211417 by Andrew Davidson in ue5-main branch]
2021-05-05 15:07:25 -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
Dmitriy Dyomin
89905e5412 Disabling SDF shadowing on D3D mobile for now as it adds one more sampler
#rb none
#jira UE-114009

[CL 16153466 by Dmitriy Dyomin in ue5-main branch]
2021-04-29 00:30:36 -04:00
Jeremy Moore
3b08896fef #jira UE-110652
Force IsUsingDBuffers to return false on mobile.
UE5 decal code has already been modified so that material compilation and rendering will remain correct on both mobile and mobile deferred after this change.
#rb dmitriy.dyomin

[CL 16131444 by Jeremy Moore in ue5-main branch]
2021-04-27 15:36:19 -04:00
Florin Pascu
575f254fce DF shadow fix for mobile es31 without independent samplers
Moved most of PCD3D_ES3_1 settings from code to DataDrivenPlatformInfo
#rb Dmitriy.Dyomin
#preflight 606d5b490ecb2c00011b988c

[CL 15938717 by Florin Pascu in ue5-main branch]
2021-04-07 04:35:19 -04:00
zach bethel
4143f7d0c1 Added RDG support for cube volume textures.
#rb sebastien.hillaire
#jira none

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

[CL 15907011 by zach bethel in ue5-main branch]
2021-04-02 19:48:57 -04:00
jack porter
7be32466df Fix issue with FShaderPlatformCachedIniValue reading several bool cvars as ints, disabling them if they are assigned =True in the ini file.
#jira UE-111007
#rb Wei.Liu
[FYI] Mickael.Gilabert, Florin.Pascu
#p4v-cherrypick 15734856

[CL 15734877 by jack porter in ue5-main branch]
2021-03-18 00:22:41 -04:00
Jack Porter
293d0d92f6 Use FConfigCacheIni::ForPlatform in FShaderPlatformCachedIniValue implementation
#jira UE-110486
#rb Florin.Pascu

[CL 15734866 by Jack Porter in ue5-main branch]
2021-03-18 00:18:18 -04:00