Thanks for that, explains everything! And no, please don't add anyhing crazy like another thread monitoring resizes...
I've managed to kludge around the various issues for now by:
* Moving the checkForOutOfDateSwap call to the top of SurafceD3D::swapRect and returning without swapping if swapchain was out of date.
* Commenting out the swapRect call in SwapChain11::resetOffscreenColorBuffer.
I still need to check for window size changes myself and do a dummy 'Swapbuffers' if window size has changed, but with the above changes I now get rock solid resize behavior.
Not sure if SwapBuffers doing NOP in the case of a window size change should be the default behaviour, but as far as I can work out the viewport (at least) will always be wrong for the first redraw after a window resize. Wont matter in most GL apps that just render constantly, but mine is event driven so it was much more noticeable that something was up.
Incidentally, what's the correct protocol for replying to a newsgroup message? I've just used 'reply to all', is this ok?
Bye,
Mark