I suppose only GL_NV_copy_image extension is exposed by the implementation, but not WGL_NV_copy_image. Usually in case of those extensions which have all the three forms (GL/WGL/GLX) the function is exposed only in form of glFunctionName.
I don’t have an NVIDIA card but I suppose this is the case, so skip the first line.
Yes, i think this is the case, too.
I am interested
in the wglCopyImageSubDataNV function call since it
should be able to copy data across contexts.
But just to be sure: i do not have to make
some more initialization to get wgl procedure adresses?
If the call for the gl function adress succeeds, there is
no other possible cause than the wgl function is not
implemented?
You don’t need a WGL version of the function to copy data across contexts. Textures can be always shared between contexts, so the textures visible in the first context can be used also in the other one.
So you can simply use the normal version of the function.
Just be careful to synchronize the two contexts (this is needed anyway).
…but you cannot share textures between contexts on separate GPUs. I think, wglCopyImageSubDataNV works in tandem with NV_gpu_affinity, which is only available on Quadro cards. So it might be possible that WGL_NV_copy_image is Quadro-only, too.
I don’t think that there is any word about in WGL_NV_copy_image is multi-GPU related stuff. Also it’s for sure not Quadro-only. I have to read more about NV_gpu_affinity but I suppose that there should be some way to share some resources between separate GPU contexts. Otherwise the whole multi-GPU stuff would loose most of it’s sense (at least in my vision).