Save and restore the state when doing decorations
authorLaszlo Agocs <laszlo.agocs@digia.com>
Thu, 21 Aug 2014 11:57:33 +0000 (13:57 +0200)
committerLaszlo Agocs <laszlo.agocs@digia.com>
Fri, 22 Aug 2014 11:04:10 +0000 (13:04 +0200)
commit9541f826a4de72b620f4bd3aa7f74a82348bc91a
tree5db75fb41811b1ccd3996898ddd3096508de97b3
parente56804753f4fcaa9f03dceef9faf40361a0864f6
Save and restore the state when doing decorations

The idea that swapBuffers() randomly changes the state is ridiculous and
breaks even Qt's own OpenGL examples. An application, that has full control
over its context and rendering, is not necessarily prepared for random state
changes in its context.

To overcome this, save and restore all the interesting state. This is fragile
and applications can break it in different ways by setting all sorts of
exotic state, esp. when using modern OpenGL. For GLES2 level stuff it should
be sufficient, though.

Change-Id: I52e7ba4072b241eb92f5f04b81d707ad5bc68f6d
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp