241 Commits

Author SHA1 Message Date
zach bethel
c716a9d71b Deprecated InitRHI() in favor of InitRHI(FRHICommandListBase&).
#rb mihnea.balta, luke.thatcher, christopher.waters

[CL 26097154 by zach bethel in 5.3 branch]
2023-06-19 14:00:50 -04:00
sebastien hillaire
af67f733af Substrate - added glint global bias and min level cvars.
ShaderVersion bumped since View data has been changed.

#rb none
[FYI] charles.derousiers

[CL 26057089 by sebastien hillaire in 5.3 branch]
2023-06-16 12:33:45 -04:00
serge bernier
cb29e2d03d Fix global usage of all cvars related to shader pipelines:
r.ShaderPipelines
r.Material.ExcludeNonPipelinedShaders

Both cvars are currently disable on WindowsEngine.ini which make them also disable when we cook for consoles. ExcludeNonPipelinedShaderTypes is currently used only at cooking time when we compile shaders which is currently returning false, since the value is disabled on windows. Making those cvars use FShaderPlatformCachedIniValue, will allow to have specific platform value when cooking for a specific target. Moving r.Material.ExcludeNonPipelinedShaders to the defaultengine.ini file to keep it disable for the moment and not affecting shader key string. Will enable it progressively on console later.


r.Shaders.RemoveUnusedInterpolators

Make that cvar platform agnostic, since it will be used in on other consoles eventually. Platforms supporting the stripping of unused interpolators will check the same flag (CFLAG_ForceRemoveUnusedInterpolators) to enable it. Since windows can run opengl, and stripping is not supported on that shader platform, add extra logic to exclude the flag.

-Make the RHISupportsShaderPipelines function access a real DDPI attribute and not just test if we are not on mobile. Will need this to be able to have stripping unused shader interpolators on Switch.

[REVIEW] Laura.Hermanns

[CL 26038736 by serge bernier in 5.3 branch]
2023-06-16 02:51:55 -04:00
florin pascu
9fbdf4a314 Add FLocalLightPrepassCS
Modify RenderLocalLightPrepass from fullscreenpass to instance draw of screen tiles
Restrict MobileLocalLightPrepass texture allocation only when LocalLight Prepass is enabled
#rb Dmitriy.Dyomin, Benjamin.Rouveyrol

[CL 25947848 by florin pascu in ue5-main branch]
2023-06-13 06:51:55 -04:00
charles derousiers
d31253e301 Add Disney Sheen model for Substrate.
This sheen mode is enabled by default for platforms which high quality shading. The models degrades into a Charlie Sheen model for lower platform. This can also be controlled with r.Substrate.SheenQuality.

#rb none
[FYI] sebastien.hillaire, chris.kulla

[CL 25910338 by charles derousiers in ue5-main branch]
2023-06-10 02:09:12 -04:00
christopher waters
e64d8f0f8f Moving a couple DDSPI fields to Editor only code blocks.
Moving Editor only DDSPI types into the cpp files to keep Editor includes out of the global scope.

#rb florin.pascu

[CL 25815319 by christopher waters in ue5-main branch]
2023-06-06 10:09:20 -04:00
jamie hayes
56a34dbd05 Experimental work in progress for Nanite support of SplineMeshComponent.
#rb brian.karis
#fyi rune.stubbe, graham.wihlidal
#jira UE-181795
#preflight 646bac02b82cb3fe67620d66

[CL 25620628 by jamie hayes in ue5-main branch]
2023-05-25 10:06:57 -04:00
Sebastien Hillaire
302b839027 Substrate - added platofrm control for specular profile through r.Substrate.SpecularProfile.
#rb none
#preflight none
#fyi charles.derousiers

[CL 25601366 by Sebastien Hillaire in ue5-main branch]
2023-05-24 09:15:47 -04:00
Sebastien Hillaire
fdcce957e2 Substrate
- glint can be enabled/disabled per platofm still.
- Glints are enabled by default now.
- Simplified the complexspecial path defines to only have one.

#rb none
#preflight none
#fyi charles.derousiers

[CL 25600737 by Sebastien Hillaire in ue5-main branch]
2023-05-24 08:20:05 -04:00
ben woodhouse
31208ca2a1 Add a new set of ASTC pixel formats for storing high precision normals in RG channels. The texture is encoded as LA for higher precision, swizzled to RG at runtime for shader compatibility with BC5. Requires RHI support.
Runtime pixel formats are named  PF_ASTC_<blocksize>_NORM_RG. Use texture format name ASTC_NormalRG_Precise for encoding.

[CL 25563983 by ben woodhouse in ue5-main branch]
2023-05-22 10:41:55 -04:00
Sebastien Hillaire
9743856f6a Substrate - Glint - Alternative to the glint texture for more variation and less visual artefact.
#rb none
#preflight none
#fyi charles.derousiers

[CL 25493423 by Sebastien Hillaire in ue5-main branch]
2023-05-16 14:13:36 -04:00
Sebastien Hillaire
5cf6e3bb5b Strata - Glints prototype.
Contains aproved LICENCE and TPS for code and LUT.
Enabled via r.substrate.glint 1

#preflight https://horde.devtools.epicgames.com/job/645cd751aa3c584c0b384ea1
#rb charles.derousiers

[CL 25433839 by Sebastien Hillaire in ue5-main branch]
2023-05-11 15:33:23 -04:00
Dmitriy Dyomin
36fdfe6533 Fixed case where mobile deferred shading was not active in Editor mobile preview
#jira none
#preflight 6451fc3ede57652122706b13

[CL 25314632 by Dmitriy Dyomin in ue5-main branch]
2023-05-03 02:42:57 -04:00
christopher waters
d584acebf0 Removing deprecated RHI and RenderCore code.
#rb luke.thatcher
#preflight 644709d5f030f684d5fff54b

[CL 25180143 by christopher waters in ue5-main branch]
2023-04-25 10:24:28 -04:00
graham wihlidal
dddef11e94 Removed NANITE_TESSELLATION define and moved to a readonly cvar to compile in shaders (r.Nanite.AllowTessellation), and a runtime toggle (r.Nanite.Tessellation). Toggling at runtime will also correctly removing bounds padding when tessellation is disabled. Removed NANITE_ENABLE_RASTER_PIPELINE_MATERIAL_CACHE, fixed it to properly work with displacement, and made just a runtime toggle (r.Nanite.RasterSetupCache 0/1). Also various code cleanup.
#rb brian.karis
#fyi rune.stubbe
#preflight 64473a2b2804595a0478fc7a

[CL 25176357 by graham wihlidal in ue5-main branch]
2023-04-25 01:07:58 -04:00
Wei Liu
b99e0abe35 Separate mask only and full depth prepass on mobile.
Disable mask clip in PS if full depth prepass enabled.
Remove r.Mobile.EarlyZPassOnlyMaterialMasking and use r.Mobile.EarlyZPass=2 instead

#jira none

#rb Dmitriy.Dyomin, Florin.Pascu
#preflight 643f8092bf1053846691e5b4

[CL 25101153 by Wei Liu in ue5-main branch]
2023-04-19 03:03:46 -04:00
carl lloyd
7a31ca4270 Enable Android Vulkan SM5 Ray Tracing
#rb jeannoe.morissette, yuriy.odonnell
#preflight 643966259566b61450eddea4

[CL 25040539 by carl lloyd in ue5-main branch]
2023-04-14 10:52:39 -04:00
florin pascu
802a04967e Make r.Mobile.EarlyZPassOnlyMaterialMasking be per shader platform
#rb Dmitriy.Dyomin, Jack.Porter
#preflight 642fbf244c3ccbbdf1bb96be

[CL 24976086 by florin pascu in ue5-main branch]
2023-04-10 04:06:47 -04:00
florin pascu
568b9363b7 Global Distance Field For Mobile
Remove bSupportsMobileDistanceField from DDSPI
#rb Dmitriy.Dyomin, Benjamin.Rouveyrol
#jira UE-103863
#preflight 642d669cf376ab43d2c75cec

[CL 24936564 by florin pascu in ue5-main branch]
2023-04-05 17:00:43 -04:00
Charles deRousiers
2dd761fc54 Change Subsutrate sRGB encoding.
* Default now uses accurate sRGB value encoding.
* Lower platforms using lower shading quality (i.e., r.Substrate.ShadingQuality > 1), will continue to use the cheap sqrt/square encoding/decoding

Using proper sRGB encoding increases occupangy by 8 vgpr on ps4 and a fullscreen quad during the base pass by 0.2ms due to lower occupancy. So keep it disabled on lower platforms.

#rb none
#jira none
#preflight 642ad0058f078cc7031c1ae2
#fyi sebastien.hillaire

[CL 24891794 by Charles deRousiers in ue5-main branch]
2023-04-03 09:35:50 -04:00
Wei Liu
01a415b564 Sampling SceneDepth instead of fetching SceneDepthAux when full depth prepass is enabled.
#jira none

#rb Dmitriy.Dyomin
#preflight 64267ed89621ba9cb48c0edf

[CL 24868190 by Wei Liu in ue5-main branch]
2023-03-31 03:12:41 -04:00
Sebastien Hillaire
1491943760 Substrata - ray tracing material shaders uses fully simplified material for smaller payload.
Next would be to have the fully simplified mode disable anisotropy to have an even lower payload size.

#rb charles.derousiers
#preflight https://horde.devtools.epicgames.com/job/6422ad44973e609670e855c8

[CL 24815921 by Sebastien Hillaire in ue5-main branch]
2023-03-28 05:25:01 -04:00
Sebastien Hillaire
1e93e473f4 Substrate - updated / clarified ray tracing common payload byte count to really reflect what is shader dependent and what is Subsutrate dependent.
#rb none
#preflight none
#fyi charles.derousiers

[CL 24801328 by Sebastien Hillaire in ue5-main branch]
2023-03-27 08:31:19 -04:00
Sebastien Hillaire
e4d82b5a34 Substrate - fixed InternalGetBytePerPixel to be aligned on uint because the read/write unit is uint32.
#rb none
#preflight none
#fyi charles.derousiers

[CL 24801136 by Sebastien Hillaire in ue5-main branch]
2023-03-27 07:57:33 -04:00
arciel rekman
006f4e3024 Unconditionally disable velocity output in base pass for Forward Desktop (UE-169988).
#rb Robert.Srinivasiah, Jules.Blok
[REVIEW] [at]Jules.Blok, [at]Robert.Srinivasiah
#jira UE-169988
#rnx
#preflight 6411d252924023147d96f7f6

[CL 24655306 by arciel rekman in ue5-main branch]
2023-03-15 11:25:47 -04:00