[Intel-gfx] Page flipping not working as expected for compositing - engineering resource available to help fix it
Simon Farnsworth
simon.farnsworth at onelan.com
Mon May 10 13:04:54 CEST 2010
On Friday 7 May 2010, Simon Farnsworth <simon.farnsworth at onelan.com> wrote:
> I've attached my test program (it's based on our C++ OpenGL compositor, but
> cut down to just test OpenGL pageflipping) as performance.c, and my test X
> stack's Xorg.0.log after one run of "performance -indirect" (which ran for
> 573 frames). I'm using a 32-bit PAE kernel - I can add information as
> required, and I'm happy to run tests or experiments for people.
>
> 2) How should I go about fixing compositing? Should I fix indirect
> rendering to use pageflipping (and if so, where do I start looking for the
> code that's getting it wrong), or should I make TFP work when direct
> rendering (and again, where should I start looking)?
>
Getting further. I've been able to confirm (by putting lots of calls to
xf86DrvMsg in the intel driver) that page flipping is happening for both direct
and indirect rendering.
However, when I'm direct rendering, glXSwapBuffers stalls until the swap is
complete (as I'd expect). When I'm indirect rendering, it doesn't - I get
resumed immediately, which causes my excessive frame rate.
Is this the expected behaviour when indirect rendering? If so, I'll dive back
into the stack and see if I can work out why TFP and direct rendering don't
interact nicely. If not, roughly where should I look to fix it?
--
Simon Farnsworth
Software Engineer
ONELAN Limited
http://www.onelan.com/
More information about the Intel-gfx
mailing list