Commit Graph

1071 Commits

Author SHA1 Message Date
carl lloyd
ed0247785b Metal RHI
- Update to Metal Shader Converter 2.0 Beta 4 which added support for quad derivatives in Compute
- Reduced max number of shaders per library due to increased RAM usage in cooks

#rb zack.neyland
#jira UE-223492

[CL 36754144 by carl lloyd in 5.5 branch]
2024-10-01 18:56:54 -04:00
serge bernier
f3620d4994 Support Dynamic shader preloading. Similar to PSOPrecaching, we can load shaders on demand instead of preloading all of them when we load the package. This reduce the memory footprint on shaders since we only load shaders that will be used for rendering. Shader preloading also support the same code logic to delay the creation of the prender proxy when the shaders are not finished loading.
Save up to 16MB on some platforms.

#rb daniele.vettorel, danny.couture, Kenzo.Terelst
#tests 66d8b4154a47dde1dd226334



#ushell-cherrypick of 36036431 by serge.bernier (first of 2 submits)

[CL 36747837 by serge bernier in 5.5 branch]
2024-10-01 17:48:22 -04:00
calvin zheng
02a5287364 Fixing cursor offset on Macbooks with notch
#rb zack.neyland
#jira UE-182466
#rnx

[CL 36442525 by calvin zheng in 5.5 branch]
2024-09-19 13:47:14 -04:00
carl lloyd
6abd8c5d8a Metal RHI
Removed check for valid rendertarget in PrepareDraw for rasterization without RT

[CL 36426972 by carl lloyd in 5.5 branch]
2024-09-19 07:42:09 -04:00
carl lloyd
0dfe124134 Metal RHI
- Fixed scissor dims when rendering with RT-less rasterization
- Removed redundant Metal state calls

#rb Zack.Neyland

[CL 36340785 by carl lloyd in 5.5 branch]
2024-09-17 13:00:37 -04:00
dmitriy dyomin
de2b738ffa Mobile: Added an option to not use PLS and FBF extension on Android OpenGL
Enabling it will force a multipass rendering where GBuffer and SceneColor are resolved to a system memory

[CL 36327269 by dmitriy dyomin in 5.5 branch]
2024-09-17 01:36:59 -04:00
tiago costa
c0a82d4d23 [HWRT] Deprecated FRayTracingSceneInitializer2 and use FRayTracingSceneInitializer instead.
[FYI] Kenzo.Terelst

[CL 36302113 by tiago costa in 5.5 branch]
2024-09-16 10:29:31 -04:00
tiago costa
1f42ccc5ce [HWRT] Provide FRayTracingSceneInitializer2 to RHICalcRayTracingSceneSize(...) instead of individual parameters.
#rb Kenzo.Terelst

[CL 36300669 by tiago costa in 5.5 branch]
2024-09-16 09:35:03 -04:00
carl lloyd
239bc511ba Metal RHI
- Fixes for page faults
- Fixed validation due to missing useResource calls

#jira UE-223490

[CL 36263848 by carl lloyd in 5.5 branch]
2024-09-13 09:52:13 -04:00
carl lloyd
d2e29dc0ff Metal RHI
Removed other usage of volatile creating sub 4k buffers

[CL 36233891 by carl lloyd in 5.5 branch]
2024-09-12 12:55:45 -04:00
carl lloyd
18999d47d1 Metal RHI
Fixed iOS compile errors caused by bindless changes

[CL 36229771 by carl lloyd in 5.5 branch]
2024-09-12 11:28:08 -04:00
carl lloyd
0f5c2bec9a Metal RHI - Bindless/SM6 Update
- Updated MSC to latest version 2.0 beta 3
- Removed MTLBufferPtr to make deallocations more explicit
- Re-wrote MetalTempAllocator to be a simple buffer allocator as the heap allocator had a huge perf overhead when used with Bindless
- Fixed use after free in deferred delete
- Limited SM6 to MacOS 15

Changes in collaboration with Apple:

- Reworked residency management
- Replace manual resource binding/pre-draw steps with IRRuntime helpers
- Added vertex layout hashing support for MSC vertex descriptors
- Replaced VertexBuffers cache struct with MSC IRRuntimeVertexBuffer
- Fixed texture reference update by adding an texture override in SRVs (this way the texture reference SRV don???t revert to the default resource when the view is invalidated).
- Fixed some page faults by removing the side table allocation with temporary allocations

#jira UE-223489
#rb Luke.Thatcher

[CL 36227379 by carl lloyd in 5.5 branch]
2024-09-12 10:32:09 -04:00
carl lloyd
2b0317f0c0 Metal RHI
Change to use private memory for volatile, fixes Slate rendering issues

#jira UE-223989
#jira UE-223975

[CL 36225094 by carl lloyd in 5.5 branch]
2024-09-12 09:15:54 -04:00
carl lloyd
18a6840bff Metal RHI
Change SetViewport to always override scissor state

[CL 36209349 by carl lloyd in 5.5 branch]
2024-09-11 16:40:21 -04:00
carl lloyd
d53af0bcb8 Metal RHI
- Removed deprecated device checks
- Fixed issue with Vertex Color selecting the incorrect format

#jira UE-223624
#jira UE-221715

#p4v-cherrypick 36201725

[CL 36202207 by carl lloyd in 5.5 branch]
2024-09-11 13:57:16 -04:00
Ryan Hummer
4af2fd066d Updating Dev-Release-5.5 from Main at CL #36144969
#okforversepublic

[CL 36146571 by Ryan Hummer in Dev-5.5 branch]
2024-09-10 10:26:02 -04:00
aleksander netzel
02d64a8449 Avoid SetInitializer in RayTracingGeometryRHI:
* Remove SetInitializer from RayTracingGeometryRHI
* Add missing RHI fence after building acceleration structures
* Store FRayTracingGeometry in FRelevantPrimitive and use its initializer to get number of segments because accessing RHI object is unsafe here.

#rb tiago.costa
#tests replay run on all platforms
#rnx

[CL 35939167 by aleksander netzel in ue5-main branch]
2024-08-30 18:11:34 -04:00
carl lloyd
2515379f59 MetalRHI - Missing files on fixing RHI context
[CL 35821084 by carl lloyd in ue5-main branch]
2024-08-27 06:00:37 -04:00
carl lloyd
61e3e55d04 Metal RHI - Descriptor upload using correct context WIP
[CL 35821007 by carl lloyd in ue5-main branch]
2024-08-27 05:56:13 -04:00
anderson ramos
05c7b1ad2e [Engine] Add PSO compilation metric
#rb Peter.Sauerbrei, Wes.Hunt
#rnx

[CL 35802749 by anderson ramos in ue5-main branch]
2024-08-26 12:59:15 -04:00
jeff fisher
b33360deda visionOS Pause State and visionOS 2.0 infrastructure
-VisionOS 1.x vs 2.x defines set so we can compile for both.
-MetalRHI refactor updates.
-Compositor pause state implemented (meaning you can take the device off your head and put it back and your app will continue running).
-Improved shutdown behavior (still crashes, but later).
-cp_layer_ functions protected by mutex locks.
-Tested with visionOS 2.0 beta 7 + Xcode 16 beta 6 and with visionOS 1.1 + Xcode 15.3.
#jira UE-218027 UE-219571
[REVIEW] 35669997
#rb carl.lloyd

[CL 35743090 by jeff fisher in ue5-main branch]
2024-08-22 11:53:08 -04:00
carl lloyd
b942586698 MetalRHI: Added error code to GPU error
[CL 35735759 by carl lloyd in ue5-main branch]
2024-08-22 07:30:11 -04:00
carl lloyd
171cd40d13 Metal RHI - Fixed RHI Adapter Name
#jira UE-211962

[CL 35735263 by carl lloyd in ue5-main branch]
2024-08-22 06:30:11 -04:00
carl lloyd
99a66c1dec Fixed bug with scissor not resetting to viewport width when enabled.
[CL 35695101 by carl lloyd in ue5-main branch]
2024-08-21 07:46:03 -04:00
carl lloyd
133adb0a81 Fix for invalid render encoder after MSAA resolve
[FYI] jeff.fisher

[CL 35626952 by carl lloyd in ue5-main branch]
2024-08-19 11:30:25 -04:00