Commit Graph

946 Commits

Author SHA1 Message Date
carl lloyd
6a5768571b Removed NS::Condition and replaced with FEvent
#rb Zack.Neyland

[CL 29884971 by carl lloyd in ue5-main branch]
2023-11-22 04:55:29 -05:00
carl lloyd
8df5b70378 Swapped key/value order in dictionary which was causing a runtime failure on debug shaders
#rb jeannoe.morissette
#jira UE-200727

[CL 29863636 by carl lloyd in ue5-main branch]
2023-11-21 09:39:42 -05:00
carl lloyd
fde5aa9bb4 Re-added MTL::Argument path for MacOS lower than 13
#rb Zack.Neyland
#jira UE-200647

[CL 29810717 by carl lloyd in ue5-main branch]
2023-11-17 11:58:26 -05:00
carl lloyd
742cd26994 Switching from mtlpp to Apple's MetalCPP library
- Mostly a straight port from mtlpp to MetalCPP
- The debug encoders have been removed in favour of Metal's built in encoder errors, these are always on in debug and development builds
- mtlpp had additional validation that we are now not implementing in the short term, but will revisit after some refactoring

#rb Zack.Neyland

[CL 29773146 by carl lloyd in ue5-main branch]
2023-11-16 05:04:37 -05:00
jeff fisher
c7e096ff77 MetalRHIVisionOSBridge unity build fix for IOS
#jira UE-198733, UE-199918
#rb erica.stella

[CL 29747570 by jeff fisher in ue5-main branch]
2023-11-15 11:05:03 -05:00
Jeff Fisher
80d0886e71 MetalContext bNativePresent build fix for IOS
#jira UE-198733, UE-199918
#review-29732249
#rb Christopher.Fiala

[CL 29733415 by Jeff Fisher in ue5-main branch]
2023-11-14 19:50:02 -05:00
Jeff Fisher
a7ab0fdfe3 MetalRHIVisionOSBridge.cpp copyright was missing.
#rb christopher.fiala
#jira UE-198733, UE-199918
#review-29717656

[CL 29717805 by Jeff Fisher in ue5-main branch]
2023-11-14 12:58:08 -05:00
Jeff Fisher
ff336238b0 OpenXRVisionOS non-plugin support files
-The changes required for VisionOS Immersive mode that are not within the OpenXRVisionOS plugin.
-Enables SimpleHMD for VisionOS (stereo rendering without a hmd).
#jira UE-198733 UE-199918
#review-29530280
#rb Josh.Adams, Carl.Lloyd

[CL 29716903 by Jeff Fisher in ue5-main branch]
2023-11-14 12:27:00 -05:00
adam kinge
2dbe730718 Fix usage of iOS "bSupportsBackgroundAudio" setting which was ignoring how the value was actually set in the ini file
#rnx

[CL 29136275 by adam kinge in ue5-main branch]
2023-10-26 11:15:27 -04:00
carl lloyd
76d43fdfae Fixed bug where non atomic compatible dummy textures were assigned to atomic arrays
Fix MSAA bug where texture setting was overridden
Added GRHISupportsArrayIndexFromAnyShader for supported devices

#jira UE-196724
#jira UE-195832
#rb jeannoe.morrissette

[CL 29042944 by carl lloyd in ue5-main branch]
2023-10-24 07:15:48 -04:00
mihnea balta
c09ff36c64 Deprecate DrawIndexedIndirect, since it's just a more confusing version of DrawIndexedPrimitiveIndirect.
Also, while we still have it, make sure it behaves consistently across all RHIs. D3D11 used to assert that NumInstances is above 1, even though it's not using it, and a few other RHIs inherited that behavior. Vulkan was actually using NumInstances as the number of indirect draws to perform, which would have crashed if the data was set up as D3D11 wanted it.

#rb christopher.waters

[CL 28912567 by mihnea balta in ue5-main branch]
2023-10-19 06:29:04 -04:00
Jeff Fisher
091cd06b96 MetalViewport: Fix bad indexing into DrawableTextures
-EMetalViewportAccessFlag needs to be translated into an index, it can't just be used directly.
#review 28729619
#rb Carl.Lloyd Zach.Neyland

[CL 28757426 by Jeff Fisher in ue5-main branch]
2023-10-13 12:39:28 -04:00
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