[Glamor] [PATCH 1/9] glamor-composite: Optimize the computation of composite region.

Chris Wilson chris at chris-wilson.co.uk
Mon Jan 9 04:58:38 PST 2012


On Mon, 9 Jan 2012 20:50:06 +0800, "Zhigang Gong" <zhigang.gong at linux.intel.com> wrote:
> > -----Original Message-----
> > From:
> > glamor-bounces+zhigang.gong=linux.intel.com at lists.freedesktop.org
> > [mailto:glamor-bounces+zhigang.gong=linux.intel.com at lists.freedesktop.o
> > rg] On Behalf Of Chris Wilson
> > Before I do, can you also consider adding glFinish to
> > glamor_block_handler(). If you start using firefxo, you will notice that
> it
> > can get quite laggy (and will become more apparent as you reduce the
> > overheads) - a sign that we are not throttling correctly. 
> 
> I agree to add glFinish there. And a short test shows, it will not hurt
> performance.
> But I can't reproduce the laggy symptom on my machine, don't know whether
> this
> change can fix that, will submit a patch latter and may need your help to
> test it.

You need to run something that is actually GPU bound and for which the
render queue can grow unbounded, a good example is the fishtank demo.
Use the desktop version on SNB and push it to 1000 fish and then watch how
long it takes the firefox UI to update following input events (and of
course the rest of the desktop).
 
> > And as with glamor
> > we never expect to use the UXA block handler, there is no mechanism for
> > ensuring that the scanout gets flushed. I think the UXA blockhandler
> > should be run unconditionally just to ensure the regular flush...
> 
> Right an unconditional flush the rendering buffer should fix this problem.
> I was thinking about can we let the OpenGL to do that flushing internally,
> for example
> in glFlush. We discussed this issue before, and you told me EGL may don't
> support
> front buffer flushing at all. I just think is this a problem of EGL, and do
> we need to 
> add this support to EGL extension? Actually, EGL image and gbm both have
> SCANOUT usage bit defined. And can we add a new interface to do a rendering
> flush 
> on those SCANOUT image? It can take a gbm buffer as input parameter.

True, if you can fix it by marking a buffer as scanout and let EGL take
care of the nitty details, perfect. It's just one of those annoying
latency bugs that crops up from time to time so I'll try to make sure it
doesn't get forgotten. ;-)
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Glamor mailing list