[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AADFC41AFE54684AB9EE6CBC0274A5D15F717B17@SHSMSX101.ccr.corp.intel.com>
Date: Fri, 20 Nov 2015 08:36:15 +0000
From: "Tian, Kevin" <kevin.tian@...el.com>
To: Gerd Hoffmann <kraxel@...hat.com>
CC: Alex Williamson <alex.williamson@...hat.com>,
"Song, Jike" <jike.song@...el.com>,
"xen-devel@...ts.xen.org" <xen-devel@...ts.xen.org>,
"igvt-g@...1.01.org" <igvt-g@...1.01.org>,
"intel-gfx@...ts.freedesktop.org" <intel-gfx@...ts.freedesktop.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"White, Michael L" <michael.l.white@...el.com>,
"Dong, Eddie" <eddie.dong@...el.com>,
"Li, Susie" <susie.li@...el.com>,
"Cowperthwaite, David J" <david.j.cowperthwaite@...el.com>,
"Reddy, Raghuveer" <raghuveer.reddy@...el.com>,
"Zhu, Libo" <libo.zhu@...el.com>,
"Zhou, Chao" <chao.zhou@...el.com>,
"Wang, Hongbo" <hongbo.wang@...el.com>,
"Lv, Zhiyuan" <zhiyuan.lv@...el.com>,
qemu-devel <qemu-devel@...gnu.org>,
Paolo Bonzini <pbonzini@...hat.com>
Subject: RE: [Intel-gfx] [Announcement] 2015-Q3 release of XenGT - a
Mediated Graphics Passthrough Solution from Intel
> From: Gerd Hoffmann [mailto:kraxel@...hat.com]
> Sent: Friday, November 20, 2015 4:26 PM
>
> Hi,
>
> > > iGVT-g_Setup_Guide.txt mentions a "Indirect Display Mode", but doesn't
> > > explain how the guest framebuffer can be accessed then.
> >
> > You can check "fb_decoder.h". One thing to clarify. Its format is
> > actually based on drm definition, instead of OpenGL. Sorry for
> > that.
>
> drm is fine. That header explains the format, but not how it can be
> accessed. Is the guest fb exported as dma-buf?
Currently not, but per our previous discussion we should move to use
dma-buf. We have some demo code in user space. Not sure whether
they're public now. Jike could you help do a check?
>
> > > So, for non-opengl rendering qemu needs the guest framebuffer data so it
> > > can feed it into the vnc server. The vfio framebuffer region is meant
> > > to support this use case.
> >
> > what's the format requirement on that framebuffer? If you are familiar
> > with Intel Graphics, there's a so-called tiling feature applied on frame
> > buffer so it can't be used as a raw input to vnc server. w/o opengl you
> > need do some conversion on CPU first.
>
> Yes, that conversion needs to happen, qemu can't deal with tiled
> graphics. Anything which pixman can handle will work. Prefered would
> be PIXMAN_x8r8g8b8 (aka DRM_FORMAT_XRGB8888 on little endian host) which
> is the format used by the vnc server (and other places in qemu)
> internally.
>
> qemu can also use the opengl texture for the guest fb, then fetch the
> data with glReadPixels(). Which will probably do exactly the same
> conversion. But it'll add a opengl dependency to the non-opengl
> rendering path in qemu, would be nice if we can avoid that.
>
> While being at it: When importing a dma-buf with a tiled framebuffer
> into opengl (via eglCreateImageKHR + EGL_LINUX_DMA_BUF_EXT) I suspect we
> have to pass in the tile size as attribute to make it work. Is that
> correct?
>
I'd guess so, but need double confirm later when reaching that level of detail.
some homework on dma-buf is required first. :-)
Thanks
Kevin
Powered by blists - more mailing lists