Intel® oneAPI DPC++/C++ Compiler
Talk to fellow users of Intel® oneAPI DPC++/C++ Compiler and companion tools like Intel® oneAPI DPC++ Library, Intel® DPC++ Compatibility Tool, and Intel® Distribution for GDB*
603 Discussions

GL_HANDLE_TYPE_D3D12_RESOURCE_EXT unsupported in EXT_external_objects_win32

MowKow
Beginner
1,245 Views

Hi,

 

unfortunately GL_HANDLE_TYPE_D3D12_RESOURCE_EXT seems to be unsupported ( "invalid enum" when calling glImportMemoryWin32HandleEXT() )

so D3D12 - GL interop won't work

 

Vulkan - GL interop using GL_HANDLE_TYPE_OPAQUE_WIN32_EXT works fine though

 

tested on:

Win10 pro, UHD 630,  driver version 31.0.101.2127  ( 13.11.2023 )

 

Regards

0 Kudos
7 Replies
RamyerM_Intel
Moderator
1,192 Views

Hello MowKow, 

 

Thank you for posting in the communities. I just want to ask, are you currently developing a software or game? Will you please let us  know in what game and system are you experiencing this error messages? Please tell me more about it so I can assist you accurately . Thank you. 

 

Ramyer M. 

Intel Customer Support Technician 

 

0 Kudos
MowKow
Beginner
1,161 Views

Hi Ramyer,

 

It's an in house  crossplatform video compositing application, rendering is done through OpenGL for compatibility reasons ( embedded devices )

on Windows I'm using shared textures for D3D11/12/Vulkan -> OpenGL interop

 

steps to reproduce:

 

- create ID3D12Resource with D3D12_HEAP_FLAG_SHARED allocation

- create HANDLE through CreateSharedHandle()

- glCreateMemoryObjectsEXT()

- glImportMemoryWin32HandleEXT(obj, allocation size, GL_HANDLE_TYPE_D3D12_RESOURCE_EXT, handle);

=> results in GL_INVALID_ENUM error

 

same applies to D3D11 texture sharing using  nt handles:

- create ID3D11Texture2D with D3D11_RESOURCE_MISC_SHARED_NTHANDLE | D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX;

- create HANDLE with CreateSharedHandle ( DXGI_SHARED_RESOURCE_READ )

- glCreateMemoryObjectsEXT()

- glImportMemoryWin32HandleEXT(obj, allocation size, GL_HANDLE_TYPE_D3D11_IMAGE_EXT, handle);

=> results in GL_INVALID_ENUM error

 

the only working extension seems to be GL_HANDLE_TYPE_OPAQUE_WIN32_EXT for Vulkan

 

so apparently most of the GL_EXT_memory_object_win32 extension functionality seems to be missing

 

note:

on D3D11 the GL_EXT_win32_keyed_mutex extension is entirely missing   ( wglGetProcAddress() returns NULL on

glAcquireKeyedMutexWin32EXT & glReleaseKeyedMutexWin32EXT )

 

tested on:

Iris® Xe Graphics / Win11  ( Intel 12700H )

UHD 630 / Win10 ( Intel 9900K )

 

on NVIDIA all extensions are present and work as advertised

 

Cheers & thanks in advance

0 Kudos
RamyerM_Intel
Moderator
1,142 Views

Hello MowKow,

 

Thank you for sharing this information. Just to confirm, is the in-house cross-platform video composition application that you mention the one that you are developing, or is it the application that you are using in which the error message occurs? If you are on the process of developing this software, please let me know. If it is the application that you are already using, would you prefer if we continue our conversation by email as I notice you did not mention the specific name of the software. I will be waiting for your reply. 

 

Ramyer M. 

Intel Customer Support Technician 

 

 

 

0 Kudos
MowKow
Beginner
1,134 Views

Hi Ramyer,

 

yes, I'm the developer of a c++ library which is the basis for different in house applications, so it doesn't really have a name per se ( mainly running on Linux though )

I recently added a bit more Windows functionality where I stumbled upon this issue

 

Cheers

0 Kudos
RamyerM_Intel
Moderator
1,086 Views

Hello MowKow,


Thank you for confirming. I want to let you know that we have a dedicated forum for this type of concerns, where you can get faster answers. I am moving this to the Developer Software Forums for you.


Ramyer M.

Intel Customer Support Technician 



0 Kudos
MowKow
Beginner
987 Views

Hi Ramyer,

 

Thanks! 

I think the (GL) driver team should know wether GL_EXT_memory_object_win32 is supported for D3D11/12 on Intel GPUs

unfortunately I couldn't find any information online

 

Cheers

0 Kudos
Dineshbabu
Employee
960 Views

Hi MowKow,


Greetings!


Please post your query in the below Embedded community, where you will get a quick response for your query.


https://community.intel.com/t5/Embedded-Products/ct-p/embedded-products


Regards,

Dinesh


0 Kudos
Reply