From: "Zhigang Gong" <zhigang.gong@linux.intel.com>
To: 'Chris Wilson' <chris@chris-wilson.co.uk>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 4/4] uxa/glamor: Create glamor pixmap by default.
Date: Thu, 29 Dec 2011 16:44:08 +0800 [thread overview]
Message-ID: <003f01ccc606$08b40260$1a1c0720$@linux.intel.com> (raw)
In-Reply-To: <c55c5d$1gtenm@AZSMGA002.ch.intel.com>
> -----Original Message-----
> From: Chris Wilson [mailto:chris@chris-wilson.co.uk]
> Sent: Wednesday, December 28, 2011 10:27 PM
> To: zhigang.gong@linux.intel.com
> Cc: intel-gfx@lists.freedesktop.org; zhigang.gong@gmail.com;
> zhigang.gong@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@linux.intel.com
> wrote:
> > From: Zhigang Gong <zhigang.gong@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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
prev parent reply other threads:[~2011-12-29 8:44 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-27 9:09 [PATCH 0/4] uxa/glamor: performance tuning zhigang.gong
2011-12-27 9:09 ` [PATCH 1/4] uxa/glamor: Remove dead code zhigang.gong
2011-12-27 9:09 ` [PATCH 2/4] uxa/glamor: Remove extraneous flush zhigang.gong
2011-12-27 9:09 ` [PATCH 3/4] uxa/glamor: Let glamor do the GC validation zhigang.gong
2011-12-27 9:09 ` [PATCH 4/4] uxa/glamor: Create glamor pixmap by default zhigang.gong
2011-12-28 14:26 ` Chris Wilson
2011-12-29 8:44 ` Zhigang Gong [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='003f01ccc606$08b40260$1a1c0720$@linux.intel.com' \
--to=zhigang.gong@linux.intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.