On Wed, Jan 18, 2017 at 2:25 AM, Boyan Ding <boyan.j.d...@gmail.com> wrote: > I don't think I find that. The only place in state tracker where > _mesa_add_renderbuffer is called is st_framebuffer_create and only one > of the front and back buffers is allocated based on the default > behavior. When update_framebuffer_state() in state tracker is called > after draw buffer changes to front, state tracker will find it refers > to a null renderbuffer and remove it afterwards.
Buffers are allocated on demand in st_DrawBuffers() and st_ReadBuffer(). The issue is though a bit different. A single GL context is used with two windows (drawables). glDrawBuffer/glDrawBuffers() is called when the first window is current, then after glXMakeCurrent() with the second window a new st_framebuffer is created but GL_FRONT renderbuffer is never allocated for the newly created st_framebuffer. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev