From: Leonid Shatz <leonid.sh...@oracle.com> AND/XOR mask is a standard method for defining hardware cursor images. These are also the names suggested by VMware SVGA DevKit.
Signed-off-by: Leonid Shatz <leonid.sh...@oracle.com> Reviewed-by: Darren Kenny <darren.ke...@oracle.com> Signed-off-by: Liran Alon <liran.a...@oracle.com> --- hw/display/vmware_vga.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/hw/display/vmware_vga.c b/hw/display/vmware_vga.c index 73e373665bdb..d79b3400452b 100644 --- a/hw/display/vmware_vga.c +++ b/hw/display/vmware_vga.c @@ -619,8 +619,8 @@ struct vmsvga_cursor_definition_s { uint32_t bpp; int hot_x; int hot_y; - uint32_t mask[1024]; - uint32_t image[4096]; + uint32_t and_mask[1024]; + uint32_t xor_mask[4096]; }; #define SVGA_BITMAP_SIZE(w, h) ((((w) + 31) >> 5) * (h)) @@ -638,20 +638,20 @@ static inline void vmsvga_cursor_define(struct vmsvga_state_s *s, qc->hot_y = c->hot_y; switch (c->bpp) { case 1: - cursor_set_mono(qc, 0xffffff, 0x000000, (void *)c->image, - 1, (void *)c->mask); + cursor_set_mono(qc, 0xffffff, 0x000000, (void *)c->xor_mask, + 1, (void *)c->and_mask); #ifdef DEBUG cursor_print_ascii_art(qc, "vmware/mono"); #endif break; case 32: /* fill alpha channel from mask, set color to zero */ - cursor_set_mono(qc, 0x000000, 0x000000, (void *)c->mask, - 1, (void *)c->mask); + cursor_set_mono(qc, 0x000000, 0x000000, (void *)c->and_mask, + 1, (void *)c->and_mask); /* add in rgb values */ pixels = c->width * c->height; for (i = 0; i < pixels; i++) { - qc->data[i] |= c->image[i] & 0xffffff; + qc->data[i] |= c->xor_mask[i] & 0xffffff; } #ifdef DEBUG cursor_print_ascii_art(qc, "vmware/32bit"); @@ -801,9 +801,9 @@ static void vmsvga_fifo_run(struct vmsvga_state_s *s) if (cursor.width > 256 || cursor.height > 256 || cursor.bpp > 32 - || SVGA_BITMAP_SIZE(x, y) > ARRAY_SIZE(cursor.mask) + || SVGA_BITMAP_SIZE(x, y) > ARRAY_SIZE(cursor.and_mask) || SVGA_PIXMAP_SIZE(x, y, cursor.bpp) - > ARRAY_SIZE(cursor.image)) { + > ARRAY_SIZE(cursor.xor_mask)) { goto badcmd; } @@ -813,10 +813,10 @@ static void vmsvga_fifo_run(struct vmsvga_state_s *s) } for (args = 0; args < SVGA_BITMAP_SIZE(x, y); args++) { - cursor.mask[args] = vmsvga_fifo_read_raw(s); + cursor.and_mask[args] = vmsvga_fifo_read_raw(s); } for (args = 0; args < SVGA_PIXMAP_SIZE(x, y, cursor.bpp); args++) { - cursor.image[args] = vmsvga_fifo_read_raw(s); + cursor.xor_mask[args] = vmsvga_fifo_read_raw(s); } #ifdef HW_MOUSE_ACCEL vmsvga_cursor_define(s, &cursor); -- 1.9.1