back buffer for window
baisheng_wang at 163.com
Sun Sep 25 18:00:15 PDT 2011
I have some confusion about the double buffer and OpenGL.
1. To avoid flicker and tearing, the back buffer will be created. So, the back buffer is just for per-window, or for the entire screen pixmap ?
2. For the Intel driver, according to the function CreateBuffer which is I830DRI2CreateBuffer, it seems that the back buffer is per-window. After Finish drawing operation, X client will call glXSwapBuffers to swap the back buffer and front buffer. And at last, function intel_do_pageflip will call drmModeAddFB to add the frame buffer and call drmModePageFlip to tell the GPU swap the front and back buffer. So my question is: if the back buffer is just for the window, while the window is not full screen, the back buffer is just part of screen, right ? So when the scanout memory is pointed to the back buffer which is just for some window, the screen will just only display the window, while other windows will not be displayed. But it is not true, all windows can be displayed, and all work normally. Why ?
So can you enlighten it for me ? Thank you in advance.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the xorg-devel