WGL_NV_DX_interop with Windows Mixed Reality

I’m trying to port an existing OpenGL application to run on a Windows Mixed Reality platform, using WGL_NV_DX_interop. Working up through the various examples step by step, things have gone well.

However, I’ve hit a wall when I finally try to render into a WMR back buffer (via Windows::Graphics::Holographic::HolographicCamera). When I call wglDXRegisterObjectNV() for the back buffer, I get the debug message “GL_INVALID_OPERATION error generated. Invalid dimensions.”

The reason for this seems to be that the back buffer object is actually a 2-layer texture (for stereo rendering). This cannot change, since for WMR the back buffer is owned and controlled by the system.

Is there a switch somewhere that I can flip to enable interop support for 2-layer textures?

If not, what would be the possibility of getting an update for WGL_NV_DX_interop that addresses this scenario? Even if it’s limited to only supporting 2-layer textures it would be fine I think.

Or should the support already be there and I’m probably doing something wrong? I know you can’t tell what I’m doing without sample code, but it’s a whole Universal Windows Platform project.

Any help appreciated!

More info…

I find an updated interop spec (v2) kronos.org:


That document specifies in the wgl.objtypes table that TEXTURE_2D_ARRAY should be supported.

However, on the NVidia site, the version 1 spec is posted (exaclty matching khronos v1):


Which version do the NVidia drivers support (GeForce GTX 980 Ti, v391.01)?