As far as I know NVidia doesn’t support make_current_read extension.
Sharing texture objects among contexts is
posible only when both contexts have the same pixel format. Since multi sampling and non-multisampling buffers use different pixel format I cannot share them.
Try ‘simple_pbuffer’ example from nVidia SDK. Add ‘samples=2’ into pbuffer definition string and see the result - antialiased pbuffer will continue to work as texture for app. Sorry if this is not what you looking for, just this is as I understand your problem.
Actually, you can not do multisampling on a texture in D3D (CreateTexture lacks a multisamplequality field, unlike CreateRenderTarget). DX9.0a added the ability to copy a multisampled render target to a texture (DX9.0 used to refuse to do this, even though there’s no real problem with it).