Graphics
Intel® graphics drivers and software, compatibility, troubleshooting, performance, and optimization
22695 Discussions

NV_DX_Interop OpenGL extension does not work correctly with new drivers

Alexandr_C_
Beginner
3,055 Views
Hello. I'm a developer of graphical engine of Memomi Labs Inc (http://memorymirror.com).
Our development is mostly based on Intel HW (hybrid CPU/GPU, realsense cameras etc).
Recently we faced with a serious problem in a last display drivers that kills our engine development concept.
We are actively using WGL_NV_DX_interop extension to make some cross application texture sharing (and not only).
----------------------------------
System Used: Skylake Client platform
CPU SKU: IntelGenuine Intel(R) CPU 0000
GPU SKU: Intel(R) HD Graphics 515  (Skylake-Y GT2)
Processor Line: Skylake-U
System BIOS Version: SKLSE2R1.R00.X082.B93.1505272351
CMOS settings: default
Graphics Driver Version: 20.19.15.4424
GOP/VBIOS Version: N/A
Operating System: Windows 10 64-bit
OS Version: Windows 10 64-bit
API: OpenGL, DirectX
Occurs on non-Intel GPUs?: No
-----------------------------------------
After updating of drivers:
glCheckFramebufferStatus(GL_FRAMEBUFFER) - is now returning GL_FRAMEBUFFER_UNSUPPORTED,
in case if we are using shared texture, created by Direct3D9Ex as GL_COLOR_ATTACHMENT. So shortly:
 
//Create texture
glGenTextures(1, &glTextureName);
...
g_pDeviceD3D9ex->CreateTexture(width, height, 1, D3DUSAGE_RENDERTARGET,
        D3DFMT_X8R8G8B8,
        D3DPOOL_DEFAULT,
        pD3D9Texture,
        &shareHandle);
....
//registring and sharing
wglDXSetResourceShareHandleNV(pD3D9Texture, shareHandle);
hGLInteropTexture = wglDXRegisterObjectNV(g_GLDXInteropHandle,
    pD3D9Texture,
    glTextureName, GL_TEXTURE_2D,
    WGL_ACCESS_READ_WRITE_NV));
.... 
//Then we are using frame buffer object with this texture as source
glBindFramebuffer(GL_FRAMEBUFFER, fbo);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, glTextureName, 0);
glCheckFramebufferStatus(GL_FRAMEBUFFER);// Here we get GL_FRAMEBUFFER_UNSUPPORTED for the new drivers
-------------------------------------
 
We also tried D3DFMT_A8R8G8B8 texture format but without success...
We faced with this issue in the latest drivers (all drivers for 2016 year) for 6-th CPU geenration: Iris HD Graphics 515 and 580 (maybe this bug is presented in drivers for other CPUs).
If to rollback to drivers from 2015 year - it will work, but they have another problems mostly conncted with opencl calculations which already solved in new drivers.
I can also provide any extra information you need. We're stuck here, so could you please help us ASAP.
 
Thank you!
 
 
  
0 Kudos
4 Replies
Michael_C_Intel2
Employee
3,055 Views

Hi Alexandr,

I got the issue reported and will get the driver team to investigate. We request a sample binary to help replicate the issue. 

Thanks,

-Michael 

0 Kudos
Alexandr_C_
Beginner
3,055 Views

Hi, here is test app (src and binaries). For HD 515: it works for 20.19.15.4331 (11.18.2015)​ driver and does not work for  20.19.15.4424 (3/31/2016). I cannot check it for HD 580 now but it was the same problem. I believe that this is software problem and probably easy to fix as it already worked before. So could you please check this issue for modern drivers for different modern GPUs (because we are using different modern ones like HD 5300, 5500, 580, 515 etc...).

Thank's,

Alexandr

 

0 Kudos
Michael_C_Intel2
Employee
3,055 Views

Thanks, I have updated the ticket and got the info and samples to the team. 

0 Kudos
nikos1
Valued Contributor I
3,055 Views

Any update on this?  

0 Kudos
Reply