1
0
Fork 0
forked from wry/wry

backend: fix bug that mistakeningly selected wrong render device

This commit is contained in:
kossLAN 2026-04-06 22:19:32 -04:00
parent 381c5f8478
commit 149801520a
No known key found for this signature in database
3 changed files with 10 additions and 0 deletions

View file

@ -585,6 +585,9 @@ pub trait BackendDrmDevice {
fn direct_scanout_enabled(&self) -> bool { fn direct_scanout_enabled(&self) -> bool {
false false
} }
fn gfx_fast_ram_access(&self) -> bool {
false
}
fn create_lease( fn create_lease(
self: Rc<Self>, self: Rc<Self>,
lessee: Rc<dyn BackendDrmLessee>, lessee: Rc<dyn BackendDrmLessee>,

View file

@ -189,6 +189,10 @@ impl BackendDrmDevice for MetalDrmDevice {
.unwrap_or(self.backend.state.direct_scanout_enabled.get()) .unwrap_or(self.backend.state.direct_scanout_enabled.get())
} }
fn gfx_fast_ram_access(&self) -> bool {
self.ctx.get().gfx.fast_ram_access()
}
fn create_lease( fn create_lease(
self: Rc<Self>, self: Rc<Self>,
lessee: Rc<dyn BackendDrmLessee>, lessee: Rc<dyn BackendDrmLessee>,

View file

@ -637,6 +637,9 @@ impl State {
{ {
continue; continue;
} }
if dev.dev.gfx_fast_ram_access() {
continue;
}
dev.make_render_device(); dev.make_render_device();
if self.render_ctx.is_some() { if self.render_ctx.is_some() {
break; break;