Commit Graph

98 Commits

Author SHA1 Message Date
jack cai
582380c404 [Compute Framework] added compute framework support for mac platform
[CL 34283528 by jack cai in ue5-main branch]
2024-06-11 13:55:05 -04:00
zack neyland
e5a3ebaa4f Mac: Properly bumping editor min mac os to match rel5.4
[CL 33957162 by zack neyland in ue5-main branch]
2024-05-28 18:42:54 -04:00
zack neyland
e943cd3efd HF: Fix broken Nanite on Mac
[CL 33284317 by zack neyland in ue5-main branch]
2024-04-26 19:50:36 -04:00
zack neyland
0d34f24fcc Mac: Bumping the min runtime target to 13.0
#jira UE-212115

[CL 32908539 by zack neyland in ue5-main branch]
2024-04-11 17:35:39 -04:00
calvin zheng
0126089bd4 Reorganize memory.MemoryPressureCriticalThresholdMB for memory pressure assessment
#rb Zousar.Shaker, Josh.Adams

[CL 32333617 by calvin zheng in ue5-main branch]
2024-03-19 14:33:18 -04:00
carl lloyd
5aba6460d0 Fix crash with hair when using PF_D24
#rb mihnea.balta
#jira UE-208548

[CL 31923173 by carl lloyd in ue5-main branch]
2024-02-29 16:34:04 -05:00
josh adams
3c9ad1fb39 - Putting Mac Editor target OS back to 11 until the buildfarm to be updated fully
#rb zack.neyland

[CL 31822846 by josh adams in ue5-main branch]
2024-02-26 18:53:24 -05:00
laura hermanns
29a6c72678 [Shaders] Move macro SUPPORTS_INDEPENDENT_SAMPLERS to DDSPI configuration.
While the mobile team wants to keep independent samples disbaled for PCD3D_ES3_1, it makes sense to move this as a platform dependent feature into the DDSPI configuration.

#rb brian.white, christopher.waters, Yuriy.ODonnell
[FYI] Dmitriy.Dyomin, Carl.Lloyd
#rnx

[CL 31764896 by laura hermanns in ue5-main branch]
2024-02-23 11:10:12 -05:00
josh adams
1490a189af - Split Mac target/deployment versions to have editor and non-editor versions
- Moved them into SDK.json
- Fixed up some deprecation warnings when tarrgeting macOS 13
- IOS is still using old .ini project setting method
#rb adam.kinge, carl.lloyd, zack.neyland

[CL 31651333 by josh adams in ue5-main branch]
2024-02-20 13:42:11 -05:00
carl lloyd
ba27035a00 Added support for Metal Shader Converter with Bindless in MetalRHI
- Available on SM6
 - Disabled with config
 - Includes support for heap allocations on Metal, enabled by default, can be disabled with -nometalheap

#rb Luke.Thatcher, Chris.Waters, Laura.Hermanns
#jira UE-204112

[CL 31531113 by carl lloyd in ue5-main branch]
2024-02-15 14:58:02 -05:00
josh adams
67d747d50a - Moved all versions from *SDK.Versions.cs files to *_SDK.json files
- Some static variables made it tricky, so added some support to make it simpler on users of the static variables
#rb David.Harvey

[CL 31431441 by josh adams in ue5-main branch]
2024-02-13 11:51:53 -05:00
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