Welcome Dialog

Welcome to the Community!

We have a brand new look! Take a tour with us and explore the latest updates on Adobe Support Community.


Implementing D3D12 renderer -> Iterating over IDXGIAdapter1 return DXGI_ERROR_DEVICE_RESET

New Here ,
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

162

Likes

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

New Here , 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 Laye...

Likes

Translate

Translate
New Here ,
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.

Likes

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