Another thing that I noticed, that is potentially relevant to how relationship between d3d11 and dxgi objects is tracked, is IDXGIResource1::CreateSubresourceSurface. I didn't do any testing with it, but it implies you can create multiple dxgi objects for the same d3d11/wined3d resource, at least as many as subresource count, but potentially any number of them. Right now afaict lifetime is tracked in d3d11 object, and dxgi one do not take a reference to them. So i'm not sure yet, how this is supposed to coexist.