Commit Graph

934 Commits

Author SHA1 Message Date
carl lloyd
a0d2597db3 Fixed crash when resizing viewport on Mac
#rb Jeannoe.Morissette
#jira UE-191485
#jira UE-195223
#jira UE-194292

[CL 28181955 by carl lloyd in ue5-main branch]
2023-09-25 05:16:05 -04:00
zach bethel
0f40a4d17f Fixed RHIBindDebugLabelName to take a command list.
#jira UE-195436

[CL 27966365 by zach bethel in ue5-main branch]
2023-09-18 13:51:58 -04:00
carl lloyd
802f14d2bf Change Texture2DArray's to flatten by texture name instead of using shader names.
#rb jeannoe.morissette

[CL 27823019 by carl lloyd in ue5-main branch]
2023-09-13 05:09:45 -04:00
carl lloyd
d41f30464d MetalRHI: Fixed crash on 3D texture readback
#rb jeannoe.morissette

[CL 27710911 by carl lloyd in ue5-main branch]
2023-09-08 10:28:04 -04:00
christopher waters
3cc28e6db6 Removing individual parameter binding methods from IRHI*Context now that everything uses batched shader parameters
- RHISetShaderTexture, RHISetShaderSampler, RHISetUAVParameter, RHISetShaderResourceViewParameter, RHISetShaderUniformBuffer, RHISetShaderParameter
- Only removing from the interface, each RHI still uses them in conjunction with UE::RHICore::RHISetShaderParametersShared, which uses the RHI type and not the interface.
- These methods are not part of the "public" interface so no deprecation is needed.

#rb luke.thatcher

[CL 27605633 by christopher waters in ue5-main branch]
2023-09-05 14:29:04 -04:00
christopher waters
ae3bd2b8da Don't add unbind commands if the RHI doesn't do anything with them.
- Discovered that a number of RHISetShaderResourceViewParameter and RHISetUAVParameter implementations do nothing with null resources, meaning that RHISetShaderUnbinds calls end up doing zero work with all the overhead.
- Adding GRHIGlobals::NeedsShaderUnbinds for RHIs to signal they need/handle unbind commands.
- RHIs that actually do work with RHISetShaderUnbinds now set NeedsShaderUnbinds on startup.
- Removed RHISetShaderUnbinds implementations that did zero work.

#rb luke.thatcher

[CL 27554898 by christopher waters in ue5-main branch]
2023-09-01 10:28:05 -04:00
josh adams
a0086bf01b - Forcing the logic of -nometalheap and -nometalfence for IOS, but allowing a cvar to re-enable them (rhi.Metal.ForceNoHeap, rhi.Metal.ForceNoFence - they default to 1)
#rb jason.nadro
#jira UE-193372
#lockdown Mitchell.Wilson

[CL 27395592 by josh adams in ue5-main branch]
2023-08-25 18:40:29 -04:00
carl lloyd
d8b3e42957 Fixed bug when creating DepthStencil using the ImmediateContext which was unnecessary for surfaces without data.
#rb trivial

[CL 27335907 by carl lloyd in ue5-main branch]
2023-08-24 04:57:55 -04:00
kirill zorin
66c882e375 Fix instances of incorrect usage of UE_LOG.
#rb trivial

[CL 27306121 by kirill zorin in ue5-main branch]
2023-08-23 11:04:15 -04:00
christopher waters
2ccaffb472 RHITransferBufferUnderlyingResource and RHITransferRayTracingGeometryUnderlyingResource need to be given a command list for future rename support.
#jira UE-162016
#rb jeannoe.morissette

[CL 27101943 by christopher waters in ue5-main branch]
2023-08-15 10:12:23 -04:00
zach bethel
8f41b4b6c0 Moved RHICreateTexture to support non-immediate command lists.
#jira none

[CL 27029875 by zach bethel in ue5-main branch]
2023-08-11 11:27:36 -04:00
christopher waters
b7881548a3 RHIUpdateTexture2D Fixes
- Fixing implementations to handle source offsets.
- Fixing implementations to handle source data smaller than the image's pitch (very small regions).
- Fixing implementations to handle RHI bypass correctly.

#rb Dmitriy.Dyomin, Florin.Pascu, Jeannoe.Morissette, Luke.Thatcher, Mihnea.Balta

[CL 26920943 by christopher waters in ue5-main branch]
2023-08-08 12:57:59 -04:00
adam kinge
43d42d6d2b Required Metal changes to support iOS Simulator.
- add a new shader platform (SP_METAL_SIM) to support iOS Simulator specific compilation requirements
- update iOS sim #define WITH_SIMULATOR to WITH_IOS_SIMULATOR

#jira UE-168571
#rb carl.lloyd

[CL 26850475 by adam kinge in ue5-main branch]
2023-08-04 12:28:20 -04:00
carl lloyd
7bcc8c792e Disable the SM5 Renderer for A8 devices
#jira UE-159244
#rb Jack.Porter

[CL 26801594 by carl lloyd in ue5-main branch]
2023-08-03 05:15:55 -04:00
Josh Adams
574dc31ccb - Very very early support for UE running as a SwiftUI app:
- .ini settings for using SwiftUI main function
  - this will eanble #defines, etc, to enable some embedded style functionality in UE, where SwiftUI will trigger when to create the engine/view/etc
  - assume fully immersive mode, which uses CompositorServices to get drawables from SwiftUI land
  - Added some code to FMetalViewport for using Composotir layer/drawable instead of CoreAnimation layer/drawable
  - If the .ini setting is false, then it will use the original VIsionOS support which works generally in the simulator

- Also removed -lc++ commandline which was causing "duplicate -lc++" warning when building in recent Xcode

#rb adam.kinge

[CL 26769312 by Josh Adams in ue5-main branch]
2023-08-02 09:09:16 -04:00
joe kirchoff
d31b8ce8a3 Resolve several module public include paths not using references
#rnx

[CL 26558470 by joe kirchoff in ue5-main branch]
2023-07-24 18:35:16 -04:00
adam kinge
74b072896b iOS A8 devices do not support Virtual Textures, so if they have been enabled via r.Mobile.VirtualTextures, give a log Warning that it's not supported when running on an A8 device. Don't use Fatal as level might not use VTs.
#jira UE-190545
#rb dmitriy.dyomin

[CL 26504525 by adam kinge in ue5-main branch]
2023-07-20 22:51:10 -04:00
axel riffard
af34956548 Bring back MTL argument for older MacOS and iOS
#rb carl.lloyd
#jira UE-189806

[CL 26421682 by axel riffard in ue5-main branch]
2023-07-17 19:32:05 -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
wei liu
cf993b07b2 Fix a typo in MetalRHI.
#rb Dmitriy.Dyomin

[CL 26279166 by wei liu in ue5-main branch]
2023-06-28 02:11:42 -04:00
axel riffard
de98664667 Metal 3.1, iOS17 and tvOS17
#jira UE-187878
#rb adam.kinge
[FYI] jack.porter,  carl.lloyd,  zack.neyland,  josh.adams

[CL 26277868 by axel riffard in ue5-main branch]
2023-06-27 21:41:51 -04:00
josh adams
82ea6a767a [Backout] - CL26223564
[FYI] keaton.stewart
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL26221679 [Main CIS Issue] Errors in Incremental FortniteServer Linux and Incremental Compile Monolithics - Linux
[FYI] Josh.Adams
Original CL Desc
-----------------------------------------------------------------
- Very super early support for VisionOS (requires Xcode 15 beta2 or later).
- THIS IS NOT USABLE YET - WORK IN PROGRESS!
- It builds, links with IOS libs (warnings, not errors), can cook and it boots in Simulator, but is dying in MetalRHI
- UnrealTargetPlatform.VisionOS is currently defined in Engine code, it is not pulled out like would be correct for a full true platform extension
- Refactored a lot of Build.cs files to use UnrealPlatformGroup.IOS/Apple instead of individual platform checks, to make VisionOS integration simpler
#rb zack.neyland

[CL 26226852 by josh adams in ue5-main branch]
2023-06-24 17:52:48 -04:00
keaton stewart
1fd1a77412 [Backout] - CL26221679 [Main CIS Issue] Errors in Incremental FortniteServer Linux and Incremental Compile Monolithics - Linux
#fyi Josh.Adams
#jira FORT-626566 (edited)
Original CL Desc
-----------------------------------------------------------------
- Very super early support for VisionOS (requires Xcode 15 beta2 or later).
- THIS IS NOT USABLE YET - WORK IN PROGRESS!
- It builds, links with IOS libs (warnings, not errors), can cook and it boots in Simulator, but is dying in MetalRHI
- UnrealTargetPlatform.VisionOS is currently defined in Engine code, it is not pulled out like would be correct for a full true platform extension
- Refactored a lot of Build.cs files to use UnrealPlatformGroup.IOS/Apple instead of individual platform checks, to make VisionOS integration simpler
#rb zack.neyland

[CL 26223564 by keaton stewart in ue5-main branch]
2023-06-23 20:29:27 -04:00
Josh Adams
e25e1b3daf - Very super early support for VisionOS (requires Xcode 15 beta2 or later).
- THIS IS NOT USABLE YET - WORK IN PROGRESS!
- It builds, links with IOS libs (warnings, not errors), can cook and it boots in Simulator, but is dying in MetalRHI
- UnrealTargetPlatform.VisionOS is currently defined in Engine code, it is not pulled out like would be correct for a full true platform extension
- Refactored a lot of Build.cs files to use UnrealPlatformGroup.IOS/Apple instead of individual platform checks, to make VisionOS integration simpler
#rb zack.neyland

[CL 26221679 by Josh Adams in ue5-main branch]
2023-06-23 19:12:47 -04:00
zach bethel
dc6c9e4da7 Fixed build break.
[CL 26218297 by zach bethel in ue5-main branch]
2023-06-23 16:34:30 -04:00