Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1162316AbbKTIgw (ORCPT ); Fri, 20 Nov 2015 03:36:52 -0500 Received: from mga09.intel.com ([134.134.136.24]:2900 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1162161AbbKTIgt (ORCPT ); Fri, 20 Nov 2015 03:36:49 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,321,1444719600"; d="scan'208";a="855365445" From: "Tian, Kevin" To: Gerd Hoffmann CC: Alex Williamson , "Song, Jike" , "xen-devel@lists.xen.org" , "igvt-g@ml01.01.org" , "intel-gfx@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "White, Michael L" , "Dong, Eddie" , "Li, Susie" , "Cowperthwaite, David J" , "Reddy, Raghuveer" , "Zhu, Libo" , "Zhou, Chao" , "Wang, Hongbo" , "Lv, Zhiyuan" , qemu-devel , Paolo Bonzini Subject: RE: [Intel-gfx] [Announcement] 2015-Q3 release of XenGT - a Mediated Graphics Passthrough Solution from Intel Thread-Topic: [Intel-gfx] [Announcement] 2015-Q3 release of XenGT - a Mediated Graphics Passthrough Solution from Intel Thread-Index: AQHRIiyyOpjII2o6BEOu3O6YRHHGpJ6imYIg///oBwCAAewboP//ohIAgACHX2A= Date: Fri, 20 Nov 2015 08:36:15 +0000 Message-ID: References: <53D215D3.50608@intel.com> <547FCAAD.2060406@intel.com> <54AF967B.3060503@intel.com> <5527CEC4.9080700@intel.com> <559B3E38.1080707@intel.com> <562F4311.9@intel.com> <1447870341.4697.92.camel@redhat.com> <1447922452.25140.39.camel@redhat.com> <1448007960.6904.22.camel@redhat.com> In-Reply-To: <1448007960.6904.22.camel@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id tAK8b27n031436 Content-Length: 2281 Lines: 52 > From: Gerd Hoffmann [mailto:kraxel@redhat.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 ????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?