Hi, > dpy_gfx_switch and dpy_gfx_update need to be called to finish the > initialization or switching of the non-OpenGL display. However, the proposed > patch only calls dpy_gfx_switch. > > vnc actually does not need dpy_gfx_update because the vnc implementation of > dpy_gfx_switch implicitly does the work for dpy_gfx_update, but the model of > ui/console expects the two of dpy_gfx_switch and dpy_gfx_update is separated > and only calling dpy_gfx_switch violates the model. dpy_gfx_update used to > be called even in such a case before and it is a regression.
Well, no, the ->dpy_gfx_switch() callback is supposed to do everything needed to bring the new surface to the screen. vnc isn't alone here, gtk for example does the same (see gd_switch()). Yes, typically this is roughly the same an explicit dpy_gfx_update call would do. So this could be changed if it helps making the opengl code paths less confusing, but that should be a separate patch series and separate discussion. take care, Gerd