Forum Discussion
knchaffin
7 years agoExplorer
wglDXRegisterObjectNV returns 0 but no error ( NV_DX_interop2 )
Has anyone successfully added NV_DX_interop2 functionality to a PC Win10 OVR SDK app with NVIDIA GTX 1080 GPU? Just to be clear, my goal is to be able to execute arbitrary GL code and have it writ...
knchaffin
7 years agoExplorer
A bit more info... I am using the pColorTex->Get_ovrTextureSet() to obtain the eye render target 3 member swap chain and then the
ovr_GetTextureSwapChainCurrentIndex(..) function to get the current index and then using (currentIndex+1)%swapChainLength to index into ovr_GetTextureSwapChainBufferDX() to obtain my dxColorBuffer .
ovr_GetTextureSwapChainCurrentIndex(..) function to get the current index and then using (currentIndex+1)%swapChainLength to index into ovr_GetTextureSwapChainBufferDX() to obtain my dxColorBuffer .
Reading other forum conversations leads me to believe that there may be something in the OVR API that prevents NV_DX_interop2 from functioning, such as perhaps the OVR API locking the DX render targets such that GL cannot write to them via interop. Those conversations are from 3 years back. Does anyone know if there is such a limitation that would prevent generic GL writing to the shared DX render targets other than using a blit from the GL textures to the DX textures?
Otherwise I am wondering if there is a special setting for the pixel format or attributes when opening the DX/GL device after calling:
wglChoosePixelFormatARBFunc(..)
context = wglCreateContextAttribsARBFunc(hDC, 0, attribs);
wglMakeCurrent(hDC, context);
wglMakeCurrent(hDC, context);
gl_handleD3D = wglDXOpenDeviceNVFunc((void *)((OVR::Render::D3D11::RenderDevice*)pRender)->Device);
I've been working on this issue for a couple of weeks, to no avail.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 3 years ago