richard wallis
8d24dcd6ee
Add -fpreserve-invariance for Vertex shaders for Metal versions above 2.2. macOS only: Reinstate Metal versions 2.2 and 2.3 to work round what appears to be a M1 position invariance compiler bug.
...
#jira UE-164360
#preflight 63443b667045f13c96bda936
[REVIEW] [at]zack.neyland, [at]axel.riffard, [at]jack.porter, [at]adam.kinge
[CL 22509223 by richard wallis in ue5-main branch]
2022-10-13 14:40:48 -04:00
axel riffard
c64aa2de93
Catalina, iOS 14 removal
...
Metal 2.3 removed, Metal 3.0 added for Mac
#jira UE-163352
#rb adam.kinge bertrand.carre
#preflight 631ea7eb94758d0bf2008668
[CL 21960671 by axel riffard in ue5-main branch]
2022-09-11 23:47:08 -04:00
axel riffard
494b98c831
Remove Catalina support and Metal 2.2 from Mac.
...
#jira UE-149923
#rb jack.porter
#preflight 6315c60bf448dc6e58121822
[CL 21790515 by axel riffard in ue5-main branch]
2022-09-05 06:05:22 -04:00
Richard Wallis
5f67dcf13c
Apply patch from Apple. Enable WaveOps for macOS - tested on Vega 56 Monterey 12.5.1
...
#jira none
#rnx
#preflight 6310b4d7ea685939704c090a
#review-21739599 @zack.Neyland
#rb zack.Neyland
[CL 21756741 by Richard Wallis in ue5-main branch]
2022-09-02 04:26:05 -04:00
Laura Hermanns
bbb62728d4
Strip [[clang::optnone]] attribute from Metal shaders due to performance hit with WPO on M1 Macs.
...
#rb Will.Damon
#fyi MarcAndre.Lalonde
#jira none
#preflight 62f56422f3107c023cc15341
#rnx
[CL 21344324 by Laura Hermanns in ue5-main branch]
2022-08-11 16:27:00 -04:00
axel riffard
8e78f187b8
ios 16, tvos 16 and metal 3.0 implementation
...
#jira UE-156821
#rb jack.porter
#fyi will.damon
#preflight 62b959ec5d29d0d10a8e9497
[CL 20828293 by axel riffard in ue5-main branch]
2022-06-27 04:12:37 -04:00
carl lloyd
4b6434cac6
Fix for Apple A8 device support
...
- Devices crashing when using Base_Vertex metal shader semantics
- Runtime error when using Virtual Texturing on A8 devices which is unsupported.
#jira UE-131863, UE-132217
#rb Will.Damon
[FYI] Jack.Porter
#preflight 62a75ad63d0a713cf8caf486
#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-SOURCE: CL 20631592 in //UE5/Release-5.0/... via CL 20649245
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)
[CL 20656300 by carl lloyd in ue5-main branch]
2022-06-14 16:23:13 -04:00
carl lloyd
9bc1cec538
Enabling half precision floating point for Metal on iOS/tvOS
...
#rb Dmitriy.Dyomin, Laura.Hermanns
#jira UE-120588
#preflight 624c3b06f4217035fac65500
[CL 19626453 by carl lloyd in ue5-main branch]
2022-04-05 11:51:04 -04:00
Lukas Hermanns
999fb99c6c
Enable HLSL 2021 language version (CFLAG_HLSL2021) in shader compiler backends.
...
#rb Guillaume.Abadie, Will.Damon
#fyi Carl.Lloyd, Ryan.Vance, Christopher.Waters, Mihnea.Balta, Rolando.Caloca, Yuriy.ODonnell, Graham.Wihlidal
#jira UE-138358
#preflight 6227b6b3c653e7ef9f571dc8
[CL 19319858 by Lukas Hermanns in ue5-main branch]
2022-03-09 09:47:28 -05:00
richard wallis
705ed1e745
Fix for Metal running out of buffer binding slots (max 31) due to the allocation of texture+buffer slot per SRV texture.
...
- Consume Uniform then UAV buffer slots first.
- Don't use up a buffer slot for texel buffers as we should be using texture buffers for these now.
- If we are not using a buffer slot for the same texel slot index then don't attempt to bind the underlying SRV buffer when binding the SRV texture otherwise it'll stomp on other in use buffer slots.
- Use CountTrailingZeros64() when referencing TextureIndices as that is a 64bit type.
#jira UE-141595
#preflight 620e3612fe76023596bd3e52
[REVIEW] [at]will.damon, [at]laura.hermanns
#rnx
#lockdown cristina.riveron
#ROBOMERGE-AUTHOR: richard.wallis
#ROBOMERGE-SOURCE: CL 19116483 in //UE5/Release-5.0/... via CL 19117285
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19153361 by richard wallis in ue5-main branch]
2022-02-25 14:36:37 -05:00
lukas hermanns
b0ab21cd71
Improve stability for out of bounds buffer slots in Metal backend.
...
#rb Will.Damon, Mihnea.Balta, Rolando.Caloca
#jira UE-138002
#preflight none
#rnx
#ROBOMERGE-AUTHOR: lukas.hermanns
#ROBOMERGE-SOURCE: CL 18865633 in //UE5/Release-5.0/... via CL 18865641 via CL 18868946
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
[CL 18869017 by lukas hermanns in ue5-main branch]
2022-02-04 14:01:55 -05:00
will damon
08957ffbc4
Set new default shader for Apple platforms and IOS 15 support
...
#jira UE-131184
#jira UE-124744
#rb jack.porter
#[fyi] will.damon carl.lloyd axel.riffard
#preflight 618e2f249e784835d570d871
#ushell-cherrypick of 18165990 by axel.riffard
[CL 18598774 by will damon in ue5-main branch]
2022-01-13 12:27:13 -05:00
Marc Audy
0c3be2b6ad
Merge Release-Engine-Staging to Test @ CL# 18240298
...
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
fc542f6cfd
Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
...
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
lukas hermanns
91113e2e9e
Enable Metal v2.4; maps from MAX_SHADER_LANGUAGE_VERSION=7.
...
#rb Will.Damon
#jira none
#rnx
#ROBOMERGE-AUTHOR: lukas.hermanns
#ROBOMERGE-SOURCE: CL 18018804 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0
[CL 18018978 by lukas hermanns in ue5-release-engine-test branch]
2021-11-02 10:36:33 -04:00
lukas hermanns
d43f20d79c
Replace EHlslCompileTarget with FHlslShaderModel in ShaderConductor interface for better control over input shader version.
...
#rb Jeannoe.Morissette, Will.Damon
[FYI] Steve.Smith, Rolando.Caloca
#jira UE-121893
#rnx
#ROBOMERGE-AUTHOR: lukas.hermanns
#ROBOMERGE-SOURCE: CL 17817375 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0
[CL 17817405 by lukas hermanns in ue5-release-engine-test branch]
2021-10-14 12:05:06 -04:00
lukas hermanns
c5400b94fe
Replace EHlslShaderFrequency with EShaderFrequency in ShaderConductor interface.
...
Also remove further references to Hull and Domain shaders as tessellation is no longer supported in UE5.
#rb Will.Damon, Brian.White, Christopher.Waters, Jeannoe.Morissette
[FYI] Carl.Lloyd, Florin.Pascu, Ryan.Vance, Rolando.Caloca, Mihnea.Balta
#jira none
#rnx
#ROBOMERGE-SOURCE: CL 17408818 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17408845 by lukas hermanns in ue5-release-engine-test branch]
2021-09-02 16:41:03 -04:00
lukas hermanns
9028640c86
Unify compiler info and source info in CCHeader meta data.
...
#rb Will.Damon, Ryan.Vance
[FYI] Carl.Lloyd
#jira none
#rnx
#ROBOMERGE-SOURCE: CL 16687864 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
[CL 16687921 by lukas hermanns in ue5-release-engine-test branch]
2021-06-16 10:16:50 -04:00
Lukas Hermanns
7eccf9d2d6
Remove references to UE4 in Metal backend.
...
#rb Dave.Hunter
#fyi Will.Damon
#jira UE-111496
#rnx
[CL 16009723 by Lukas Hermanns in ue5-main branch]
2021-04-14 14:48:10 -04:00
Lukas Hermanns
dc07d3f58e
Add "Disassemble" function to public interface of ShaderConductor.
...
Move ShaderConductor utility to disassemble SPIR-V into ShaderCompilerCommon module.
Fix --strip-reflect pass in SPIRV-Tools to remove all SPV_GOOGLE* reflection extensions.
Rebuild ShaderConductor for Win64, Linux, and Mac.
#rb Carl.Lloyd, Ryan.Vance
#fyi Mihnea.Balta, Rolando.Caloca, Will.Damon, Dmitriy.Dyomin
#jira none
#rnx
[CL 15978123 by Lukas Hermanns in ue5-main branch]
2021-04-12 11:25:06 -04:00
Lukas Hermanns
c75e86cf40
Move SPIR-V utility functions for reflection and binding information into SpirvCommon.h/.cpp source files.
...
#rb Will.Damon, Carl.Lloyd
#fyi Ryan.Vance, Mihnea.Balta, Rolando.Caloca, Dmitriy.Dyomin
#jira none
#rnx
[CL 15954206 by Lukas Hermanns in ue5-main branch]
2021-04-08 10:09:56 -04:00
marc audy
bf2e06bca2
Added initial support for RDG_{TEXTURE, BUFFER}_ACCESS_ARRAY, which enables a dynamic number of inputs into an RDG pass. Removed unused / deprecated SHADER_PARAMETER_RDG_BUFFER.
...
#rb none
#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: zach.bethel
#ROBOMERGE-SOURCE: CL 15905815 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)
#ROBOMERGE-CONFLICT from-shelf
[CL 15907353 by marc audy in ue5-main branch]
2021-04-02 20:35:50 -04:00
will damon
0a4e702859
Remove all tessellation support from Metal RHI
...
- Also, remove _NOTESS Metal profile
#rb christopher.waters, richard.wallis, lukas.hermanns, rolando.caloca
#jira UE-94564
#rnx
[CL 15831929 by will damon in ue5-main branch]
2021-03-25 16:56:00 -04:00
will damon
4d9be3b3ee
Update min macOS version to 10.15 and roll default MSL to v2.2.
...
[REVIEW] [at]richard.wallis [at]axel.riffard [at]jack.porter [at]dave.hunter
#jira UE-109999
#rnx
#ROBOMERGE-SOURCE: CL 15681710 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)
[CL 15684125 by will damon in ue5-main branch]
2021-03-11 21:32:06 -04:00
Lukas Hermanns
829eddd5cf
Added HlslccHeaderWriter to unify writing of shader meta data.
...
#rb Mihnea.Balta, Will.Damon, Dmitriy.Dyomin
#fyi Rolando.Caloca, Brian.White
#jira none
#rnx
[CL 15225002 by Lukas Hermanns in ue5-main branch]
2021-01-27 17:53:40 -04:00