From fd31aba2a1e2ffe8c67efe42363d09c470ffcd7b Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Thu, 29 Feb 2024 13:58:05 +0600 Subject: [PATCH] MGA: Implement X11 hardware cursor --- src/video/vid_mga.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/video/vid_mga.c b/src/video/vid_mga.c index 6b0c563b2..074303553 100644 --- a/src/video/vid_mga.c +++ b/src/video/vid_mga.c @@ -6016,6 +6016,17 @@ mystique_hwcursor_draw(svga_t *svga, int displine) } break; + case XCURCTRL_CURMODE_XWIN: + for (uint8_t x = 0; x < 64; x++) { + if ((dat[1] & (1ULL << 63))) + svga->monitor->target_buffer->line[displine][(offset + svga->x_add) & 2047] = (dat[0] & (1ULL << 63)) ? (mystique->cursor.col[1]) : (mystique->cursor.col[0]); + + offset++; + dat[0] <<= 1; + dat[1] <<= 1; + } + break; + default: break; }