On Wed, Mar 06, 2019 at 12:48:59AM +0100, BALATON Zoltan wrote: > On Tue, 5 Mar 2019, Gerd Hoffmann wrote: > > On Mon, Mar 04, 2019 at 03:58:00PM +0100, BALATON Zoltan wrote: > > > Hello, > > > > > > I'm trying to implement hardware cursor for ati-vga before submitting the > > > last version of it before the freeze. > > > > Use dpy_cursor_define(). > > I've done that but it's not working very well. The mouse pointer is quite > jumpy with this and there are some problems updating the pointer image when > the guest changes image data in video ram without changing registers. (Like
When using a relative pointing device (i.e. mouse instead of tablet) you also need dpy_mouse_set(), to update the host mouse position when the guest moves the cursor sprite around. Is it possible to figure where the cursor hotspot is? > least doing hw cursor like this works somewhat but I note that the other > version with cursor_invalidate and cursor_draw_line callbacks worked much > smoother, alas I've found that cannot work with shared_surface. There is a VGAComminState->force_shadow ... > should be? (Also note that draw_line callback could do complement pixels but > that's not possible with dpy_cursor_define.) Yep, dpy_cursor_define is designed for the way modern hardware handles hardware cursors, to allow it being used as hardware cursor on the host. cirrus has a few modes which modern hardware can't do, thats why it doesn't use dpy_cursor_define. Has ati cursor a complement pixel mode too? cheers, Gerd