Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d27aa76a authored by Doug Zongker's avatar Doug Zongker Committed by Gerrit Code Review
Browse files

Merge "Support BGRA framebuffer"

parents 74b90b30 f766396d
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -184,8 +184,21 @@ static gr_surface fbdev_flip(minui_backend* backend __unused) {
        set_displayed_framebuffer(1-displayed_buffer);
    } else {
        // Copy from the in-memory surface to the framebuffer.

#if defined(RECOVERY_BGRA)
        unsigned int idx;
        unsigned char* ucfb_vaddr = (unsigned char*)gr_framebuffer[0].data;
        unsigned char* ucbuffer_vaddr = (unsigned char*)gr_draw->data;
        for (idx = 0 ; idx < (gr_draw->height * gr_draw->row_bytes); idx += 4) {
            ucfb_vaddr[idx    ] = ucbuffer_vaddr[idx + 2];
            ucfb_vaddr[idx + 1] = ucbuffer_vaddr[idx + 1];
            ucfb_vaddr[idx + 2] = ucbuffer_vaddr[idx    ];
            ucfb_vaddr[idx + 3] = ucbuffer_vaddr[idx + 3];
        }
#else
        memcpy(gr_framebuffer[0].data, gr_draw->data,
               gr_draw->height * gr_draw->row_bytes);
#endif
    }
    return gr_draw;
}