Add D3D12 device removed diagnostics - #241
Open
duckdoom5 wants to merge 4 commits into
Open
Conversation
duckdoom5
force-pushed
the
d3d12-device-removed-diagnostics
branch
from
June 23, 2026 11:05
f011183 to
c175be1
Compare
Expose an opt-in helper for enabling D3D12 DRED before device creation and a reporting helper that emits device-removed data through the existing NRI callback interface. The report includes GetDeviceRemovedReason, DRED device state, breadcrumb history around the last completed operation, breadcrumb contexts, and page-fault allocation lists. Wide DRED debug strings are converted through the existing NRI string utility, and unsupported backends return Result::UNSUPPORTED.
duckdoom5
force-pushed
the
d3d12-device-removed-diagnostics
branch
from
June 23, 2026 11:10
c175be1 to
4a336da
Compare
Contributor
|
What about adding "feature level" for crash dump functionality? The first one for example would be just description why it crashed (on Vulkan the VK_KHR_device_fault can be used), and for extended functionality add DRED/vendor-specific extensions? I don't see exposing D3D12-only functionality into public interfaces as a good choice. |
Contributor
Author
|
@vertver Yeah, your comment makes sense. I spend some time to include Vulkan and moved around some code. Hope you like this shape better :) |
duckdoom5
force-pushed
the
d3d12-device-removed-diagnostics
branch
from
June 28, 2026 21:50
c050644 to
3f865f0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I was running into some DEVICE_LOST bugs and found this helpful. Thought I'd push it as a PR.
It adds (opt-in) D3D12/Vulkan device fault diagnostics helpers.
DeviceCreationDesc.deviceFaultInfoLevelto select diags level. (BASICfor just message,VERBOSEto include DRED device state, breadcrumb history, breadcrumb contexts, and page-fault allocation lists.)nriReportDeviceFaultInfo()to report device-removed info.eg.
Partial progress towards #116