[Intel-gfx] Page flipping not working as expected for compositing - engineering resource available to help fix it

Simon Farnsworth simon.farnsworth at onelan.com
Tue May 11 10:40:09 CEST 2010


On Monday 10 May 2010, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> What about the indirect bug?  Did that also go away when you fixed the
> perms issue?  If not, that sounds like a serious issue, in indirect
> mode the swap interval should still be honored I think...

In indirect mode, the swap interval was being honoured by the page flipping 
code, but SwapBuffers wasn't blocking; instead, I appeared to be able to 
continue to draw to the backbuffer after issuing SwapBuffers in my application.

In direct mode, SwapBuffers behaved as I'd expect - I blocked as soon as I 
tried to draw, until the swap had completed.

Guessing wildly, when I SwapBuffers in a direct context, I ask the kernel to 
stall me as soon as I draw to the back buffer (which is presumably still in use 
as the real front buffer). When I'm in an indirect context, it's the X server 
process that calls the kernel, which can't block, because that would stop it 
servicing other clients, and it's not blocking me until it discovers 
asynchronously that the kernel has pageflipped.
-- 
Simon Farnsworth
Software Engineer
ONELAN Limited
http://www.onelan.com/



More information about the Intel-gfx mailing list