1
0
Fork 0
forked from wry/wry

metal: use the correct graphics context when allocating buffers

This commit is contained in:
Julian Orth 2025-08-29 13:27:56 +02:00
parent c1f5f306fc
commit ed065fb9f2

View file

@ -291,8 +291,9 @@ impl MetalDeviceTransaction {
} }
*field = plane.obj.id; *field = plane.obj.id;
} }
let render_ctx = slf.dev.dev.backend.ctx.get();
let dev_ctx = slf.dev.dev.ctx.get(); let dev_ctx = slf.dev.dev.ctx.get();
let render_ctx = slf.dev.dev.backend.ctx.get();
let render_ctx = render_ctx.as_ref().unwrap_or(&dev_ctx);
for connector in slf.connectors.values_mut() { for connector in slf.connectors.values_mut() {
let state = &connector.state; let state = &connector.state;
let dd = &*connector.obj.display.borrow(); let dd = &*connector.obj.display.borrow();
@ -463,9 +464,6 @@ impl MetalDeviceTransaction {
if b[0].width != width || b[0].height != height || b[0].format != format { if b[0].width != width || b[0].height != height || b[0].format != format {
discard!(); discard!();
} }
let Some(render_ctx) = &render_ctx else {
discard!();
};
if !rc_eq(render_ctx, &b[0].render_ctx) { if !rc_eq(render_ctx, &b[0].render_ctx) {
discard!(); discard!();
} }
@ -496,7 +494,7 @@ impl MetalDeviceTransaction {
modifiers, modifiers,
width, width,
height, height,
&slf.dev.dev.ctx.get(), render_ctx,
plane.obj.ty == PlaneType::Cursor, plane.obj.ty == PlaneType::Cursor,
) )
.map_err(|e| { .map_err(|e| {