I read that part in egl specification as well but I wasn't sure if this statement covers the case when the context is unbound via eglMakeCurrent call with NULL context then it is made current again. The problem I saw was when the context is made current again especially with a new surface with different dimension, there's no way the context updates its viewport accordingly.
On Tue, Aug 23, 2016 at 12:23:47PM +0100, Emil Velikov wrote: > On 15 August 2016 at 23:58, Dongwon Kim <dongwon....@intel.com> wrote: > > 'ViewportInitialized' flag in gl_context has to be reset to '0' > > when the current context is unbound via a eglMakeCurrent call with > > all of 'NULL' resources (surfaces and context). > > > > This is to make sure the viewport of the context is re-initialized > > when the same context is bound to new read and draw surfaces > > (or same surfaces but with different size.) next time when the > > context is made current again. > > > The spec is pretty clear about this: > > "The first time a OpenGL or OpenGL ES context is made current the > viewport and scissor dimensions are set to the size of the draw > surface (as though glViewport(0, 0, w, h) and glScissor(0, 0, w, h) > were called, where w and h are the width and height of the surface, > respectively). However, the viewport and scissor dimensions are not > modified when ctx is subsequently made current." > > So unless coffee hasn't kicked this patch is wrong. > Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev