From 571ed740dde86621f85af4a6eb6d46d4e75a8bb4 Mon Sep 17 00:00:00 2001 From: modeco80 Date: Mon, 5 Aug 2024 09:01:54 -0400 Subject: [PATCH] swap GL frames to bgra --- crates/retrovnc/src/rfb.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/crates/retrovnc/src/rfb.rs b/crates/retrovnc/src/rfb.rs index 38e6f3b..edd16a6 100644 --- a/crates/retrovnc/src/rfb.rs +++ b/crates/retrovnc/src/rfb.rs @@ -132,6 +132,16 @@ impl RfbServer { &mut self.framebuffer[dest_line_off..dest_line_off + self.width as usize]; dest_slice.copy_from_slice(scanlines[y as usize]); + + // swap scanline to BGRA (compatibility hack. Should make this optional!) + for pix in dest_slice { + let a = ((*pix & 0xff000000) >> 24); + let b = ((*pix & 0x00ff0000) >> 16); + let g = ((*pix & 0x0000ff00) >> 8); + let r = (*pix & 0x000000ff); + + *pix = a << 24 | r << 16 | g << 8 | b; + } } } else { for y in 0..self.height {