arb_buffer_region with viewport

I’m using the arb_buffer_region extension to draw some complicated geometry at some part of the screen. I also have simpler stuff I want to render at another part of the screen. I use viewport to divide the screen in half, but I found out that I can’t seem to call wglsavebufferregionarb with a height that’s smaller then the window height. it works all fine if I give it the whole height and only restore half of the buffer, but when the window is maximized the buffers don’t fit in VC memory and get dumped to system memory and everything slows down.

so in summary, , I want to save only a part of the screen to the buffer region, but I can’t seem to do that. it produces random scrambled images when restored.