http://bugs.winehq.org/show_bug.cgi?id=5247
------- Additional Comments From hverbeet@gmail.com 2006-19-09 04:43 ------- The code in EndScene() should work regardless of whether PBuffers are used or not. It needs to read the data from the backbuffer into a surface, regardless of whether that backbuffer is part of an onscreen or an offscreen context. Also see my mail on wine-devel. I think it should even work when FBOs are used, although in that case it would really be unecessary.
Afaik stefan is looking into the projection matrix stuff. The "trick" with changing the projection matric when a shader is used, is that while the vertex shader does replace that stuff, it can still access the GL state. The shader then reads only the cells responsible for the y-flip and x/y-offset translations. As I said, Stefan is looking into using proper uniforms / PARAMs instead.