In D3D9 there was the concept of a "device reset". When a device reset occurred textures created with D3DPOOL_DEFAULT had to be recreated, but textures created with D3DPOOL_MANAGED didn't, because, according to MSDN, a duplicate copy is kept in system memory.
In D3D11, the concept of a device reset has much less prominence. But since the video card loses power during hibernation, textures must be stored somewhere else beforehand.
So how does Windows 7 preserve video card resources during hibernation?
- Is it like D3DPOOL_MANAGED where a duplicate copy is wastefully kept in system memory,
- or does it only copy resources back from video memory immediately before hibernating, then returns them to video memory after resuming?
- Or do such resources need to be manually recreated and I'm missing something in the API?
It looks like graphics drivers implement DxgkDdiSubmitCommand to allow data to be copied to and from video memory, but it's unclear whether Windows actually does this when hibernating.