[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