Compare commits

..

2 Commits

View File

@@ -194,7 +194,7 @@ namespace Juliet::D3D12
bool InitializeD3D12DebugInfoQueue(NonNullPtr<D3D12Driver> driver) bool InitializeD3D12DebugInfoQueue(NonNullPtr<D3D12Driver> driver)
{ {
ID3D12InfoQueue* infoQueue = NULL; ID3D12InfoQueue* infoQueue = nullptr;
D3D12_MESSAGE_SEVERITY severities[] = { D3D12_MESSAGE_SEVERITY_INFO }; D3D12_MESSAGE_SEVERITY severities[] = { D3D12_MESSAGE_SEVERITY_INFO };
HRESULT result = HRESULT result =
@@ -260,22 +260,15 @@ namespace Juliet::D3D12
void InitializeD3D12DebugInfoLogger(NonNullPtr<D3D12Driver> driver) void InitializeD3D12DebugInfoLogger(NonNullPtr<D3D12Driver> driver)
{ {
ID3D12InfoQueue* infoQueue = NULL; // Only supported on Win 11 apparently
HRESULT result = ID3D12InfoQueue1* infoQueue = nullptr;
ID3D12Device5_QueryInterface(driver->D3D12Device, IID_ID3D12InfoQueue, reinterpret_cast<void**>(&infoQueue)); HRESULT result = ID3D12Device5_QueryInterface(driver->D3D12Device, IID_ID3D12InfoQueue1, reinterpret_cast<void**>(&infoQueue));
if (FAILED(result))
{
LogError(driver, "Failed to get ID3D12InfoQueue", result);
return;
}
ID3D12InfoQueue1* infoQueue1 = nullptr;
result = ID3D12Device5_QueryInterface(driver->D3D12Device, IID_ID3D12InfoQueue1, reinterpret_cast<void**>(&infoQueue1));
if (FAILED(result)) if (FAILED(result))
{ {
return; return;
} }
ID3D12InfoQueue1_RegisterMessageCallback(infoQueue1, OnD3D12DebugInfoMsg, D3D12_MESSAGE_CALLBACK_FLAG_NONE, NULL, NULL); ID3D12InfoQueue1_RegisterMessageCallback(infoQueue, OnD3D12DebugInfoMsg, D3D12_MESSAGE_CALLBACK_FLAG_NONE, NULL, NULL);
ID3D12InfoQueue1_Release(infoQueue); ID3D12InfoQueue1_Release(infoQueue);
} }
#endif #endif