Dear All:

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.

Regards,
Jacky









_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to