Merge pull request #87572 from RandomShaper/d3d12_custom_dbg_print

Direct3D 12: Fix and enable custom debug printing
This commit is contained in:
Rémi Verschelde 2024-01-29 13:17:21 +01:00
commit 78680cdebc
No known key found for this signature in database
GPG Key ID: C3336907360768E1
2 changed files with 3 additions and 6 deletions

View File

@ -520,9 +520,8 @@ Error D3D12Context::_create_device(DeviceBasics &r_basics) {
res = r_basics.device.As(&info_queue); res = r_basics.device.As(&info_queue);
ERR_FAIL_COND_V(!SUCCEEDED(res), ERR_CANT_CREATE); ERR_FAIL_COND_V(!SUCCEEDED(res), ERR_CANT_CREATE);
#if 0 // This causes crashes. Needs investigation.
ComPtr<ID3D12InfoQueue1> info_queue_1; ComPtr<ID3D12InfoQueue1> info_queue_1;
device.As(&info_queue_1); r_basics.device.As(&info_queue_1);
if (info_queue_1) { if (info_queue_1) {
// Custom printing supported (added in Windows 10 Release Preview build 20236). // Custom printing supported (added in Windows 10 Release Preview build 20236).
@ -530,9 +529,7 @@ Error D3D12Context::_create_device(DeviceBasics &r_basics) {
res = info_queue_1->RegisterMessageCallback(&_debug_message_func, D3D12_MESSAGE_CALLBACK_IGNORE_FILTERS, nullptr, 0); res = info_queue_1->RegisterMessageCallback(&_debug_message_func, D3D12_MESSAGE_CALLBACK_IGNORE_FILTERS, nullptr, 0);
ERR_FAIL_COND_V(!SUCCEEDED(res), ERR_CANT_CREATE); ERR_FAIL_COND_V(!SUCCEEDED(res), ERR_CANT_CREATE);
} else } else {
#endif
{
// Rely on D3D12's own debug printing. // Rely on D3D12's own debug printing.
if (Engine::get_singleton()->is_abort_on_gpu_errors_enabled()) { if (Engine::get_singleton()->is_abort_on_gpu_errors_enabled()) {

View File

@ -174,7 +174,7 @@ private:
LocalVector<ID3D12CommandList *> command_list_queue; LocalVector<ID3D12CommandList *> command_list_queue;
uint32_t command_list_count = 1; uint32_t command_list_count = 1;
static void _debug_message_func( static void STDMETHODCALLTYPE _debug_message_func(
D3D12_MESSAGE_CATEGORY p_category, D3D12_MESSAGE_CATEGORY p_category,
D3D12_MESSAGE_SEVERITY p_severity, D3D12_MESSAGE_SEVERITY p_severity,
D3D12_MESSAGE_ID p_id, D3D12_MESSAGE_ID p_id,