1
0
forked from MeloNX/MeloNX

CAMetalLayer usage from background thread fix

This commit is contained in:
Daniil Vinogradov 2025-02-17 14:36:51 +01:00
parent b09f362191
commit cd24276a7d

View File

@ -477,23 +477,21 @@ class Ryujinx {
func repeatuntilfindLayer() {
DispatchQueue.global(qos: .background).async {
Task { @MainActor in
while self.metalLayer == nil {
let layer = self.getMetalLayer(nil)
if layer != nil {
DispatchQueue.main.async {
self.metalLayer = layer
}
self.metalLayer = layer
break
}
Thread.sleep(forTimeInterval: 0.1)
try await Task.sleep(nanoseconds: 100_000_000)
}
}
}
@MainActor
func getMetalLayer(_ window: OpaquePointer?) -> CAMetalLayer? {
var window = window
if window == nil {