Samuel Thibault, le Mon 10 Mar 2008 16:16:57 +0000, a écrit :
> Pat Campbell, le Sun 09 Mar 2008 15:19:59 -0600, a écrit :
> > diff -r 854b0704962b tools/ioemu/hw/xenfb.c
> > --- a/tools/ioemu/hw/xenfb.c Wed Mar 05 09:43:03 2008 +0000
> > +++ b/tools/ioemu/hw/xenfb.c Fri Mar 07 13:44:09 2008 -0600
> > @@ -516,6 +516,15 @@ static void xenfb_on_fb_event(struct xen
> > }
> > xenfb_guest_copy(xenfb, x, y, w, h);
> > break;
> > + case XENFB_TYPE_RESIZE:
> > + xenfb->width = event->resize.width;
> > + xenfb->height = event->resize.height;
> > + xenfb->row_stride = event->resize.stride;
> > + /* Disable video buf sharing, not compatable with
> > resizing */
> > + dpy_colourdepth(xenfb->ds, 0);
> > + dpy_resize(xenfb->ds, xenfb->width, xenfb->height);
>
> Insert if (xenfb->ds->shared_buf) dpy_setdata(xenfb->ds, xenfb->pixels);
> just after dpy_colourdepth() and dpy_resize(), and the video buf sharing
> will work (so you can replace 0 with xenfb->depth in the colourdepth
> call).
That actually leads me to the the question of an "offset" support in the
resize event; it would actually be very easy: just add xenfb->offset to
xenfb->pixels in the dpy_setdata call, as well as in the BLT macro and
memcpy call in xenfb_guest_copy.
Samuel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|