• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Implementing D3D12 renderer -> Iterating over IDXGIAdapter1 return DXGI_ERROR_DEVICE_RESET

Community Beginner ,
May 20, 2021 May 20, 2021

Copy link to clipboard

Copied

Hello.

 

We are implementing a plugin that use GPU for it's internal rendering, So far, we implemented succesfully OpenGL and D3D11 renderers.
currently in the process of implementing the D3D12 renderer, while iterating over the different adapters (like described here:https://docs.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-d3d12createdevice  ), we stumble upon a DXGI_ERROR_DEVICE_RESET that block us from getting the device.

After a quick talk with the DirectX12 guys, they stated that:

Direct3D 12 devices are singletons per adapter. If a Direct3D 12 device already exists in the current process for a given adapter, then a subsequent call to D3D12CreateDevice returns the existing device.
If the current Direct3D 12 device is in a removed state, then D3D12CreateDevice fails instead of returning the existing device. 

 

Is there any internal query of After Effects to D3D12 Device that could cause this state ?

 

 

Tested on two different computers (one AMD; one NVidia GPU) with Adobe After Effects v18.2 - Both with no additional plugins.

 

TOPICS
Error or problem , How to , SDK

Views

824

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Beginner , Jun 22, 2021 Jun 22, 2021

We finally figured it out;

After Effects has the debug layer disabled for public released builds and our code was trying to force enable it; it was causing the DXGI_ERROR_DEVICE_RESET mentionned above.

 

Thanks for those who helped us getting that piece of info;

Pro-tip: If you want to develop with the debug layer on:
- with DirectX Control panel (accessible via visual studio Debug->Graphics->DirectX Control panel)
- Click on Scope->Edit List...-> Add : AfterFX.exe

- Then Direct3D/DXGI Debug Layer: Cho

...

Votes

Translate

Translate
Community Beginner ,
Jun 22, 2021 Jun 22, 2021

Copy link to clipboard

Copied

LATEST

We finally figured it out;

After Effects has the debug layer disabled for public released builds and our code was trying to force enable it; it was causing the DXGI_ERROR_DEVICE_RESET mentionned above.

 

Thanks for those who helped us getting that piece of info;

Pro-tip: If you want to develop with the debug layer on:
- with DirectX Control panel (accessible via visual studio Debug->Graphics->DirectX Control panel)
- Click on Scope->Edit List...-> Add : AfterFX.exe

- Then Direct3D/DXGI Debug Layer: Choose the `Force On` Option and voila ! You got your debug logs.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines