Commit Graph

87 Commits

Author SHA1 Message Date
calvin zheng
ac687a36a3 Move settings from iOSEngine.ini to BaseiOSEngine.ini, also correcting a mistake from a previous CL
#jira UE-203418
#rb adam.kinge, Josh.Adams

[CL 31019874 by calvin zheng in ue5-main branch]
2024-01-30 15:58:57 -05:00
calvin zheng
42836d38ad Move settings from MacEngine.ini to BaseMacEngine.ini
#jira UE-203410
#rb josh.adams, adam.kinge

[CL 31017900 by calvin zheng in ue5-main branch]
2024-01-30 15:13:45 -05:00
josh adams
855719cb92 - Added missing PC PlatformPreviews (and any others that didn't specify a DeviceProfile)
- Added Mac PlatformPreviews so it can end preview mode (which needs a maching PP to the host platform)
#rb mihnea.balta

[CL 29805771 by josh adams in ue5-main branch]
2023-11-17 08:55:03 -05:00
zack neyland
c2e7471707 Mac: Fixes to enable groom on M2+ devices.
Addresses a hang that was occuring. This is leads to a reduction in hairless nightmare fuel.

[CL 29646894 by zack neyland in ue5-main branch]
2023-11-10 13:21:59 -05:00
florian penzkofer
cd93ccdb8b Support ThinTranslucent Materials in mobile renderer
OpenGL ES and Metal use framebuffer fetch.
Vulkan uses dual source blending.
For Vulkan and OpenGL ES there is a fallback shader permutation for drivers that don't support this. The fallback is the same as the existing solution that uses regular blending (i.e. looks different).
Others uses dual source blending and we force use of DXC for those shaders.
#rb Dmitriy.Dyomin, Florin.Pascu

[CL 29245271 by florian penzkofer in ue5-main branch]
2023-10-30 15:41:46 -04:00
ben hoffman
b75b0dc78e Add a toggle for the behavior of EKeys::Platform_Delete on Mac.
On a Mac keyboard pressing just "delete" will act as a "backspace" on windows or linux, and pressing "function+delete" will act as "delete" on windows or linux.

There is no behavioral change here, but it provides the option to change what it is and supports more platforms then just Mac.

#jira UE-190154
#rb zack.neyland

[CL 26810634 by ben hoffman in ue5-main branch]
2023-08-03 10:41:03 -04:00
robert srinivasiah
de9f2b7d08 XR: disable ISR on Mac
We don't actually support ISR on Mac yet, so disable this until we get this stood up

#jira UE-189718 UE-174004
#rb Zack.Neyland
#rnx

[CL 26734651 by robert srinivasiah in ue5-main branch]
2023-08-01 06:53:59 -04:00
carl lloyd
7eb7660622 Disable WaveOps on Metal SM5 renderer
#rb trivial
#jira UE-191135

[CL 26645282 by carl lloyd in ue5-main branch]
2023-07-27 12:59:48 -04:00
marc audy
1b8e7f29c4 Rework GPUScene support on mobile platforms.
Platforms that do support uniform buffer objects can now provide batched primitive data through UBO. There is a limit UBO range that can be accessed in shaders, so we group instances into batches that fit into this limit. Switch uses 64KB views, other platfroms16KB views. For each primitive we allocate 512Bytes and 256Bytes for instance. Mobile platforms that do not support UBO will use a desktop version of GPUScene.
There are a few things that still missing: Dynamic mesh passes,  static lighting
#rb ola.olsson, benjamin.rouveyrol

[CL 26354848 by marc audy in ue5-main branch]
2023-06-30 16:34:38 -04:00
carl lloyd
c42df3f2f9 Fixes for Nanite on Mac
- Disable COMPILER_SUPPORTS_WAVE_VOTE for Mac
- Fixed bug where Texture2DArray was flattened due to atomics, but bound as Texture2D
- Fixed bug where defines were read incorrectly in shader compiler

#rb Zack.Neyland, Jamie.Hayes

[CL 26291315 by carl lloyd in ue5-main branch]
2023-06-28 13:49:35 -04:00
yuriy odonnell
b67c4cb749 Add bSupportsVertexShaderSRVs to DataDrivenShaderPlatformInfo which drives PLATFORM_SUPPORTS_VERTEX_SHADER_SRVS shader
* This should be used to guard any features that require explicitly accessing buffer or textures SRVs in vertex shaders

#rb Dmitriy.Dyomin
#rb Kenzo.Terelst

[CL 26207274 by yuriy odonnell in ue5-main branch]
2023-06-23 05:56:06 -04:00
josh adams
305c260069 - Moved SDK versions (MainVersion and Min/Max SDK version) from C# strings to SDK.json files in the Platform's Config folder
- Allow for per-project override in a project's platform's config folder (this is merging with my other work on per-project SDKs and validation of multi-target builds)
- More versions will move over after this
#rb david.harvey

[CL 26150552 by josh adams in ue5-main branch]
2023-06-21 11:21:01 -04:00
carl lloyd
a793c2fcd1 Add support to enable an SM6 platform for Mac
#rb Zack.Neyland
#jira UE-184435

[CL 26062749 by carl lloyd in ue5-main branch]
2023-06-16 14:24:06 -04:00
serge bernier
7bf7dd423c 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 26018371 by serge bernier in ue5-main branch]
2023-06-15 13:27:44 -04:00
florent guinier
7d5cb9e6ca NNE Only compile HLSL runtime shaders on supported platform.
What:
* Add data support flag for NNE shaders so platforms can opt in to the NNERuntimeHlsl shaders compilation.

Tests:
* NNE smoke test + style transfer demo on: win64 editor, win64 packaged

#rb ue-nni
#rnx
#jira UE-184154
#preflight 6447d1e7c632d1e89bc818f6

[CL 25185875 by florent guinier in ue5-main branch]
2023-04-25 14:43:04 -04:00
Florin Pascu
cd8651734e UX: Remove user-visible ES31 editor references and replace with Mobile
#jira UE-134173
#rb Jack.Porter
#preflight 6447ac2e641e2c3cb4227930

[CL 25178065 by Florin Pascu in ue5-main branch]
2023-04-25 07:05:08 -04:00
Aaron McLeran
70e7c3734f Removing many vestigates of old audio engine code.
#rb Ryan.Mangin
#jira UE-144348
#preflight 6446e9d30206a6e20f49f2e7

[CL 25172786 by Aaron McLeran in ue5-main branch]
2023-04-24 18:22:37 -04:00
zack neyland
be4e1f0887 Metal: Add experimental Nanite support for M2 based devices.
#jira UE-182683
#preflight https://horde.devtools.epicgames.com/job/64309adf2855180717cd4332
#rb Josh.Adams
#p4v-cherrypick 24968466

[CL 24972129 by zack neyland in ue5-main branch]
2023-04-07 19:00:54 -04:00
Florin Pascu
345666d77f Volumetric Support For Mobile - disabled by default in DP
Removed bSupportsVolumetricFog from DDPI
#jira UE-157201
#rb Dmitriy.Dyomin
#preflight 64119df15819afacaff56035

[CL 24652571 by Florin Pascu in ue5-main branch]
2023-03-15 07:26:45 -04:00
florin pascu
fbeaaad187 User friendly labels for Shader Preview Levels
#rb Gregory.Yepes
#preflight 63efae001d71bcd262fbf88d

[CL 24287942 by florin pascu in ue5-main branch]
2023-02-17 14:26:21 -05:00
zack neyland
cfc93e8736 MetalRT: Setting more enables to false.
#preflight 63c758aa990ab6791b60c7d1

[CL 23751432 by zack neyland in ue5-main branch]
2023-01-17 22:01:39 -05:00
zack neyland
e8eb20415f MetalRT: Laying initial groundwork, disabled by default.
* Enabling requires re-building a metalpp with appropriate flags/defines set along with an OS version that supports the RT headers/libs.

#preflight 63c72f1a0225f00e14c05c46
#jira none

[CL 23750025 by zack neyland in ue5-main branch]
2023-01-17 19:53:36 -05:00
wei liu
2aabe45ab3 Supports thin translucent with dual src blending if it's supported on mobile platform with DXC.
It's disabled on Android because some android devices don't support dual src blending, and it's disabled on IOS because it doesn't work with MRT.


#rb Dmitriy.Dyomin, Florin.Pascu
#preflight 6391f2e7c415e8dc78348c60

[CL 23448042 by wei liu in ue5-main branch]
2022-12-08 11:50:13 -05:00
zack neyland
0eeb3732f1 Various misc fixes for Mac.
* Sets the Min/Max Wave Size
* Handles Vulkan headers and Mac a bit better
* Handles missing [shader] toolchains a bit better.

#preflight 63603e161622fbf582db4e07
#jira na

[CL 22920245 by zack neyland in ue5-main branch]
2022-11-02 13:10:22 -04:00
florin pascu
5669253244 - Add Disable Preview Menu Option
- GetFriendlyShaderPlatformName removed
- RHIShaderPlatformDefinitions.inl deleted
- Added FriendlyNames to all ShaderPlatforms in DDSPI
- MenuText now comes from FriendlyNames in DDSPI
#rb Jack.Porter
#jira none
#preflight 632b1f8c826e0c2fe9a9d5d2

[CL 22118730 by florin pascu in ue5-main branch]
2022-09-21 14:35:21 -04:00