[PATCH 4/4] uxa/glamor: Create glamor pixmap by default.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Chris Wilson [mailto:chris at chris-wilson.co.uk]
> Sent: Wednesday, December 28, 2011 10:27 PM
> To: zhigang.gong at linux.intel.com
> Cc: intel-gfx at lists.freedesktop.org; zhigang.gong at gmail.com;
> zhigang.gong at linux.intel.com
> Subject: Re: [PATCH 4/4] uxa/glamor: Create glamor pixmap by default.
> 
> On Tue, 27 Dec 2011 17:09:18 +0800, zhigang.gong at linux.intel.com
> wrote:
> > From: Zhigang Gong <zhigang.gong at linux.intel.com>
> >
> > As a pure glamor pixmap has a local texture rather than bind a pixmap
> > to a external BO. This can avoid some unecessary flush, and can
> > achieve better performance.
> > The testing on my machine shows that aa10text/rgb10text get about
> > 20-30% performance improvement.
> 
> How do we get the name back for a pixmap created by glamor and then
> attached to a DRI2Drawable? And then once that name is exposed, how do
> you prevent GL from recreating the bo attached to the pixmap?

You are right, this patch will break the DRI2 usage.
And currently, one solution come to my mind:

At I830DRI2Create buffer, After we get a non-null pixmap at get_front_buffer

we check whether The pixmap has a valid bo, if it doesn't, we will think
this is
a pure glamor pixmap (maybe we can check more fields, such as zero
devPrivate.ptr)
Then we will create new a valid DRI2 pixmap, then we call fixup_glamor to
unbind
the bo from the new DRI2 pixmap and then bind it to the old pure glamor
pixmap
and call intel_create_textured_pixmap to create a coherent glamor-drm 
pixmap, the old pixmap's pointer will not change, only the type will be
changed
to a glamor-drm and has a valid bo attached to it.

Does this way work? And will it bring too much overhead.

Base on my current testing, change to use pure glamor pixmap for non-dri2 
pixmap really get much better performance then use coherent glamor-drm 
pixmap.

Any comments?

> -Chris
> 
> --
> Chris Wilson, Intel Open Source Technology Centre



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux