From 41c57c0b68ba519363a6afbf13de8ebd1d4e01e7 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 30 Oct 2020 15:46:44 +0000 Subject: [PATCH] Tidy up logging of unknown interface queries --- renderdoc/driver/d3d11/d3d11_context.cpp | 7 +-- renderdoc/driver/d3d11/d3d11_device.cpp | 4 +- renderdoc/driver/d3d11/d3d11_replay.cpp | 3 +- renderdoc/driver/d3d11/d3d11_resources.h | 2 +- renderdoc/driver/d3d11/d3d11_video.cpp | 2 +- renderdoc/driver/d3d12/d3d12_commands.cpp | 12 +--- renderdoc/driver/d3d12/d3d12_common.h | 7 ++- renderdoc/driver/d3d12/d3d12_device.cpp | 20 +++++- renderdoc/driver/d3d12/d3d12_replay.cpp | 2 +- renderdoc/driver/d3d12/d3d12_resources.h | 2 +- renderdoc/driver/dxgi/dxgi_common.cpp | 20 +++++- renderdoc/driver/dxgi/dxgi_hooks.cpp | 6 +- renderdoc/driver/dxgi/dxgi_wrapped.cpp | 76 ++++++----------------- renderdoc/driver/dxgi/dxgi_wrapped.h | 41 ++++-------- 14 files changed, 85 insertions(+), 119 deletions(-) diff --git a/renderdoc/driver/d3d11/d3d11_context.cpp b/renderdoc/driver/d3d11/d3d11_context.cpp index f9879ad42..31996d93e 100644 --- a/renderdoc/driver/d3d11/d3d11_context.cpp +++ b/renderdoc/driver/d3d11/d3d11_context.cpp @@ -1526,12 +1526,9 @@ HRESULT STDMETHODCALLTYPE WrappedID3D11DeviceContext::QueryInterface(REFIID riid { return m_WrappedVideo.QueryInterface(riid, ppvObject); } - else - { - WarnUnknownGUID("ID3D11DeviceContext", riid); - } - return RefCountDXGIObject::WrapQueryInterface(m_pRealContext, riid, ppvObject); + return RefCountDXGIObject::WrapQueryInterface(m_pRealContext, "ID3D11DeviceContext", riid, + ppvObject); } #pragma region Record Statistics diff --git a/renderdoc/driver/d3d11/d3d11_device.cpp b/renderdoc/driver/d3d11/d3d11_device.cpp index 25b51fb51..670cc14ea 100644 --- a/renderdoc/driver/d3d11/d3d11_device.cpp +++ b/renderdoc/driver/d3d11/d3d11_device.cpp @@ -795,9 +795,7 @@ HRESULT WrappedID3D11Device::QueryInterface(REFIID riid, void **ppvObject) return m_WrappedVideo.QueryInterface(riid, ppvObject); } - WarnUnknownGUID("ID3D11Device", riid); - - return RefCountDXGIObject::WrapQueryInterface(m_pDevice, riid, ppvObject); + return RefCountDXGIObject::WrapQueryInterface(m_pDevice, "ID3D11Device", riid, ppvObject); } rdcstr WrappedID3D11Device::GetChunkName(uint32_t idx) diff --git a/renderdoc/driver/d3d11/d3d11_replay.cpp b/renderdoc/driver/d3d11/d3d11_replay.cpp index 7ab819908..2c0cf57ba 100644 --- a/renderdoc/driver/d3d11/d3d11_replay.cpp +++ b/renderdoc/driver/d3d11/d3d11_replay.cpp @@ -82,7 +82,8 @@ void D3D11Replay::Shutdown() void D3D11Replay::CreateResources(IDXGIFactory *factory) { - bool wrapped = RefCountDXGIObject::HandleWrap(__uuidof(IDXGIFactory), (void **)&factory); + bool wrapped = + RefCountDXGIObject::HandleWrap("D3D11Replay", __uuidof(IDXGIFactory), (void **)&factory); RDCASSERT(wrapped); m_pFactory = factory; diff --git a/renderdoc/driver/d3d11/d3d11_resources.h b/renderdoc/driver/d3d11/d3d11_resources.h index a232b088a..072301ca0 100644 --- a/renderdoc/driver/d3d11/d3d11_resources.h +++ b/renderdoc/driver/d3d11/d3d11_resources.h @@ -316,7 +316,7 @@ public: return S_OK; } - return RefCountDXGIObject::WrapQueryInterface(m_pReal, riid, ppvObject); + return RefCountDXGIObject::WrapQueryInterface(m_pReal, "ID3D11DeviceChild", riid, ppvObject); } ////////////////////////////// diff --git a/renderdoc/driver/d3d11/d3d11_video.cpp b/renderdoc/driver/d3d11/d3d11_video.cpp index 807ac3a88..fb84131cf 100644 --- a/renderdoc/driver/d3d11/d3d11_video.cpp +++ b/renderdoc/driver/d3d11/d3d11_video.cpp @@ -1452,7 +1452,7 @@ Wrapped11VideoDeviceChild::QueryInterface(REFIID riid, return m_pDevice->QueryInterface(riid, ppvObject); } - return RefCountDXGIObject::WrapQueryInterface(m_pReal, riid, ppvObject); + return RefCountDXGIObject::WrapQueryInterface(m_pReal, "ID3D11Video", riid, ppvObject); } template diff --git a/renderdoc/driver/d3d12/d3d12_commands.cpp b/renderdoc/driver/d3d12/d3d12_commands.cpp index 207896ad9..ea0fe6d4c 100644 --- a/renderdoc/driver/d3d12/d3d12_commands.cpp +++ b/renderdoc/driver/d3d12/d3d12_commands.cpp @@ -525,12 +525,8 @@ HRESULT STDMETHODCALLTYPE WrappedID3D12CommandQueue::QueryInterface(REFIID riid, return E_NOINTERFACE; } } - else - { - WarnUnknownGUID("ID3D12CommandQueue", riid); - } - return RefCounter12::QueryInterface(riid, ppvObject); + return RefCounter12::QueryInterface("ID3D12CommandQueue", riid, ppvObject); } void WrappedID3D12CommandQueue::ClearAfterCapture() @@ -1372,12 +1368,8 @@ HRESULT STDMETHODCALLTYPE WrappedID3D12GraphicsCommandList::QueryInterface(REFII AddRef(); return S_OK; } - else - { - WarnUnknownGUID("ID3D12GraphicsCommandList", riid); - } - return m_RefCounter.QueryInterface(riid, ppvObject); + return m_RefCounter.QueryInterface("ID3D12GraphicsCommandList", riid, ppvObject); } void BakedCmdListInfo::ShiftForRemoved(uint32_t shiftDrawID, uint32_t shiftEID, size_t idx) diff --git a/renderdoc/driver/d3d12/d3d12_common.h b/renderdoc/driver/d3d12/d3d12_common.h index dd1044fd3..a2ee951d2 100644 --- a/renderdoc/driver/d3d12/d3d12_common.h +++ b/renderdoc/driver/d3d12/d3d12_common.h @@ -179,11 +179,16 @@ public: ////////////////////////////// // implement IUnknown HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject) + { + return QueryInterface("ID3D12Object", riid, ppvObject); + } + + HRESULT STDMETHODCALLTYPE QueryInterface(const char *ifaceName, REFIID riid, void **ppvObject) { if(!m_pReal) return E_NOINTERFACE; - return RefCountDXGIObject::WrapQueryInterface(m_pReal, riid, ppvObject); + return RefCountDXGIObject::WrapQueryInterface(m_pReal, ifaceName, riid, ppvObject); } ULONG STDMETHODCALLTYPE AddRef() diff --git a/renderdoc/driver/d3d12/d3d12_device.cpp b/renderdoc/driver/d3d12/d3d12_device.cpp index 4059a6f35..8e5a64587 100644 --- a/renderdoc/driver/d3d12/d3d12_device.cpp +++ b/renderdoc/driver/d3d12/d3d12_device.cpp @@ -805,6 +805,11 @@ HRESULT WrappedID3D12Device::QueryInterface(REFIID riid, void **ppvObject) static const GUID ID3D12CompatibilityDevice_uuid = { 0x8f1c0e3c, 0xfae3, 0x4a82, {0xb0, 0x98, 0xbf, 0xe1, 0x70, 0x82, 0x07, 0xff}}; + // unknown/undocumented internal interface + // {de18ef3a-0x2089-0x4936-0xa3 0xf3- 0xec 0x78 0x7a 0xc6 0xa4 0x0d} + static const GUID ID3D12DeviceDriverDetails_RS5_uuid = { + 0xde18ef3a, 0x2089, 0x4936, {0xa3, 0xf3, 0xec, 0x78, 0x7a, 0xc6, 0xa4, 0x0d}}; + HRESULT hr = S_OK; if(riid == __uuidof(IUnknown)) @@ -1160,12 +1165,21 @@ HRESULT WrappedID3D12Device::QueryInterface(REFIID riid, void **ppvObject) return E_NOINTERFACE; } } - else + else if(riid == ID3D12DeviceDriverDetails_RS5_uuid) { - WarnUnknownGUID("ID3D12Device", riid); + static bool printed = false; + if(!printed) + { + RDCWARN( + "Querying ID3D12Device for unsupported/undocumented interface: " + "ID3D12DeviceDriverDetails_RS5"); + printed = true; + } + // return the real thing unwrapped and hope this is OK + return m_pDevice->QueryInterface(riid, ppvObject); } - return m_RefCounter.QueryInterface(riid, ppvObject); + return m_RefCounter.QueryInterface("ID3D12Device", riid, ppvObject); } ID3D12Resource *WrappedID3D12Device::GetUploadBuffer(uint64_t chunkOffset, uint64_t byteSize) diff --git a/renderdoc/driver/d3d12/d3d12_replay.cpp b/renderdoc/driver/d3d12/d3d12_replay.cpp index 7293052d3..ba152a7c9 100644 --- a/renderdoc/driver/d3d12/d3d12_replay.cpp +++ b/renderdoc/driver/d3d12/d3d12_replay.cpp @@ -76,7 +76,7 @@ void D3D12Replay::Initialise(IDXGIFactory1 *factory) if(m_pFactory) { - RefCountDXGIObject::HandleWrap(__uuidof(IDXGIFactory1), (void **)&m_pFactory); + RefCountDXGIObject::HandleWrap("D3D12Replay", __uuidof(IDXGIFactory1), (void **)&m_pFactory); LUID luid = m_pDevice->GetAdapterLuid(); diff --git a/renderdoc/driver/d3d12/d3d12_resources.h b/renderdoc/driver/d3d12/d3d12_resources.h index 2b922997f..f712c9886 100644 --- a/renderdoc/driver/d3d12/d3d12_resources.h +++ b/renderdoc/driver/d3d12/d3d12_resources.h @@ -258,7 +258,7 @@ public: return S_OK; } - return RefCounter12::QueryInterface(riid, ppvObject); + return RefCounter12::QueryInterface("ID3D12DeviceChild", riid, ppvObject); } ////////////////////////////// diff --git a/renderdoc/driver/dxgi/dxgi_common.cpp b/renderdoc/driver/dxgi/dxgi_common.cpp index 2d14e4a98..7f8223e8c 100644 --- a/renderdoc/driver/dxgi/dxgi_common.cpp +++ b/renderdoc/driver/dxgi/dxgi_common.cpp @@ -1619,6 +1619,22 @@ D3D_PRIMITIVE_TOPOLOGY MakeD3DPrimitiveTopology(Topology Topo) void WarnUnknownGUID(const char *name, REFIID riid) { + // unknown/undocumented internal interface + // {7abb6563-02bc-47c4-8ef9-acc4795edbcf} + static const GUID IDXGIAdapterInternal2_uuid = { + 0x7abb6563, 0x02bc, 0x47c4, {0x8e, 0xf9, 0xac, 0xc4, 0x79, 0x5e, 0xdb, 0xcf}}; + + if(riid == IDXGIAdapterInternal2_uuid) + { + static bool printed = false; + if(!printed) + { + printed = true; + RDCWARN("Querying %s for unsupported/undocumented interface: IDXGIAdapterInternal2", name); + } + return; + } + static Threading::CriticalSection lock; // we use a vector here, because the number of *distinct* unknown GUIDs encountered is likely to // be low (e.g. less than 10). @@ -1635,12 +1651,12 @@ void WarnUnknownGUID(const char *name, REFIID riid) if(w.second > 5) return; - RDCWARN("Querying %s for interface: %s", name, ToStr(riid).c_str()); + RDCWARN("Querying %s for unknown/unhandled interface: %s", name, ToStr(riid).c_str()); return; } } - RDCWARN("Querying %s for interface: %s", name, ToStr(riid).c_str()); + RDCWARN("Querying %s for unknown/unhandled interface: %s", name, ToStr(riid).c_str()); warned.push_back(make_rdcpair(riid, 1)); } } diff --git a/renderdoc/driver/dxgi/dxgi_hooks.cpp b/renderdoc/driver/dxgi/dxgi_hooks.cpp index 9cd903100..32ebc6f52 100644 --- a/renderdoc/driver/dxgi/dxgi_hooks.cpp +++ b/renderdoc/driver/dxgi/dxgi_hooks.cpp @@ -277,7 +277,7 @@ private: HRESULT ret = dxgihooks.CreateDXGIFactory()(riid, ppFactory); if(SUCCEEDED(ret)) - RefCountDXGIObject::HandleWrap(riid, ppFactory); + RefCountDXGIObject::HandleWrap("CreateDXGIFactory", riid, ppFactory); return ret; } @@ -289,7 +289,7 @@ private: HRESULT ret = dxgihooks.CreateDXGIFactory1()(riid, ppFactory); if(SUCCEEDED(ret)) - RefCountDXGIObject::HandleWrap(riid, ppFactory); + RefCountDXGIObject::HandleWrap("CreateDXGIFactory1", riid, ppFactory); return ret; } @@ -301,7 +301,7 @@ private: HRESULT ret = dxgihooks.CreateDXGIFactory2()(Flags, riid, ppFactory); if(SUCCEEDED(ret)) - RefCountDXGIObject::HandleWrap(riid, ppFactory); + RefCountDXGIObject::HandleWrap("CreateDXGIFactory2", riid, ppFactory); return ret; } diff --git a/renderdoc/driver/dxgi/dxgi_wrapped.cpp b/renderdoc/driver/dxgi/dxgi_wrapped.cpp index 643379492..e38871c72 100644 --- a/renderdoc/driver/dxgi/dxgi_wrapped.cpp +++ b/renderdoc/driver/dxgi/dxgi_wrapped.cpp @@ -48,11 +48,11 @@ ID3DDevice *GetD3DDevice(IUnknown *pDevice) return wrapDevice; } -bool RefCountDXGIObject::HandleWrap(REFIID riid, void **ppvObject) +bool RefCountDXGIObject::HandleWrap(const char *ifaceName, REFIID riid, void **ppvObject) { if(ppvObject == NULL || *ppvObject == NULL) { - RDCWARN("HandleWrap called with NULL ppvObject"); + RDCWARN("HandleWrap called with NULL ppvObject querying %s", ifaceName); return false; } @@ -66,15 +66,10 @@ bool RefCountDXGIObject::HandleWrap(REFIID riid, void **ppvObject) static const GUID ID3D10Texture2D_uuid = { 0x9b7e4c04, 0x342c, 0x4106, {0xa1, 0x9f, 0x4f, 0x27, 0x04, 0xf6, 0x89, 0xf0}}; - // unknown/undocumented internal interface - // {7abb6563-02bc-47c4-8ef9-acc4795edbcf} - static const GUID IDXGIAdapterInternal2_uuid = { - 0x7abb6563, 0x02bc, 0x47c4, {0x8e, 0xf9, 0xac, 0xc4, 0x79, 0x5e, 0xdb, 0xcf}}; - if(riid == __uuidof(IDXGIDevice)) { // should have been handled elsewhere, so we can properly create this device - RDCERR("Unexpected uuid in RefCountDXGIObject::HandleWrap"); + RDCERR("Unexpected uuid in RefCountDXGIObject::HandleWrap querying %s", ifaceName); return false; } else if(riid == __uuidof(IDXGIAdapter)) @@ -122,7 +117,7 @@ bool RefCountDXGIObject::HandleWrap(REFIID riid, void **ppvObject) else if(riid == __uuidof(IDXGIDevice1)) { // should have been handled elsewhere, so we can properly create this device - RDCERR("Unexpected uuid in RefCountDXGIObject::HandleWrap"); + RDCERR("Unexpected uuid in RefCountDXGIObject::HandleWrap querying %s", ifaceName); return false; } else if(riid == __uuidof(IDXGIFactory1)) @@ -173,19 +168,7 @@ bool RefCountDXGIObject::HandleWrap(REFIID riid, void **ppvObject) if(!printed) { printed = true; - RDCWARN("Querying IDXGIObject for unsupported D3D10 interface: %s", ToStr(riid).c_str()); - } - return false; - } - else if(riid == IDXGIAdapterInternal2_uuid) - { - static bool printed = false; - if(!printed) - { - printed = true; - RDCWARN( - "Querying IDXGIObject for unsupported/undocumented IDXGIAdapterInternal2 interface: %s", - ToStr(riid).c_str()); + RDCWARN("Querying %s for unsupported D3D10 interface: %s", ifaceName, ToStr(riid).c_str()); } return false; } @@ -195,12 +178,12 @@ bool RefCountDXGIObject::HandleWrap(REFIID riid, void **ppvObject) if(!printed) { printed = true; - RDCWARN("Querying IDXGIObject for unknown GUID: %s", ToStr(riid).c_str()); + RDCWARN("Querying %s for unknown GUID: %s", ifaceName, ToStr(riid).c_str()); } } else { - WarnUnknownGUID("IDXGIObject", riid); + WarnUnknownGUID(ifaceName, riid); } return false; @@ -213,17 +196,18 @@ HRESULT STDMETHODCALLTYPE RefCountDXGIObject::GetParent( HRESULT ret = m_pReal->GetParent(riid, ppParent); if(SUCCEEDED(ret)) - HandleWrap(riid, ppParent); + HandleWrap("GetParent", riid, ppParent); return ret; } -HRESULT RefCountDXGIObject::WrapQueryInterface(IUnknown *real, REFIID riid, void **ppvObject) +HRESULT RefCountDXGIObject::WrapQueryInterface(IUnknown *real, const char *ifaceName, REFIID riid, + void **ppvObject) { HRESULT ret = real->QueryInterface(riid, ppvObject); if(SUCCEEDED(ret)) - HandleWrap(riid, ppvObject); + HandleWrap(ifaceName, riid, ppvObject); return ret; } @@ -344,12 +328,8 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGISwapChain4::QueryInterface(REFIID riid, vo return E_NOINTERFACE; } } - else - { - WarnUnknownGUID("IDXGISwapChain", riid); - } - return RefCountDXGIObject::QueryInterface(riid, ppvObject); + return RefCountDXGIObject::QueryInterface("IDXGISwapChain", riid, ppvObject); } void WrappedIDXGISwapChain4::ReleaseBuffersForResize(UINT QueueCount, IUnknown *const *ppPresentQueue, @@ -566,7 +546,7 @@ HRESULT WrappedIDXGISwapChain4::GetDevice( *ppDevice = this; AddRef(); } - else if(!HandleWrap(riid, ppDevice)) + else if(!HandleWrap("GetDevice", riid, ppDevice)) { // can probably get away with returning the real result here, // but it worries me a bit. @@ -857,12 +837,8 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGIOutput6::QueryInterface(REFIID riid, void return E_NOINTERFACE; } } - else - { - WarnUnknownGUID("IDXGIOutput", riid); - } - return RefCountDXGIObject::QueryInterface(riid, ppvObject); + return RefCountDXGIObject::QueryInterface("IDXGIOutput", riid, ppvObject); } WrappedIDXGIAdapter4::WrappedIDXGIAdapter4(IDXGIAdapter *real) @@ -947,12 +923,8 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGIAdapter4::QueryInterface(REFIID riid, void return E_NOINTERFACE; } } - else - { - WarnUnknownGUID("IDXGIAdapter", riid); - } - return RefCountDXGIObject::QueryInterface(riid, ppvObject); + return RefCountDXGIObject::QueryInterface("IDXGIAdapter", riid, ppvObject); } WrappedIDXGIDevice4::WrappedIDXGIDevice4(IDXGIDevice *real, ID3DDevice *d3d) @@ -1051,12 +1023,8 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGIDevice4::QueryInterface(REFIID riid, void return E_NOINTERFACE; } } - else - { - WarnUnknownGUID("IDXGIDevice", riid); - } - return RefCountDXGIObject::QueryInterface(riid, ppvObject); + return RefCountDXGIObject::QueryInterface("IDXGIDevice", riid, ppvObject); } rdcarray UnwrapResourceSet(UINT NumResources, IDXGIResource *const *ppResources) @@ -1259,12 +1227,8 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGIFactory::QueryInterface(REFIID riid, void RDCWARN("Blocking QueryInterface for IDXGIFactoryDWM8"); return E_NOINTERFACE; } - else - { - WarnUnknownGUID("IDXGIFactory", riid); - } - return RefCountDXGIObject::QueryInterface(riid, ppvObject); + return RefCountDXGIObject::QueryInterface("IDXGIFactory", riid, ppvObject); } HRESULT WrappedIDXGIFactory::CreateSwapChain(IUnknown *pDevice, DXGI_SWAP_CHAIN_DESC *pDesc, @@ -1488,10 +1452,6 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGIOutputDuplication::QueryInterface(REFIID r *ppvObject = (IDXGIOutputDuplication *)this; return S_OK; } - else - { - WarnUnknownGUID("IDXGIOutputDuplication", riid); - } - return RefCountDXGIObject::QueryInterface(riid, ppvObject); + return RefCountDXGIObject::QueryInterface("IDXGIOutputDuplication", riid, ppvObject); } diff --git a/renderdoc/driver/dxgi/dxgi_wrapped.h b/renderdoc/driver/dxgi/dxgi_wrapped.h index 68cd0627b..20dafe3fc 100644 --- a/renderdoc/driver/dxgi/dxgi_wrapped.h +++ b/renderdoc/driver/dxgi/dxgi_wrapped.h @@ -48,8 +48,9 @@ class RefCountDXGIObject : public IDXGIObject public: RefCountDXGIObject(IDXGIObject *real) : m_pReal(real), m_iRefcount(1) {} virtual ~RefCountDXGIObject() {} - static bool HandleWrap(REFIID riid, void **ppvObject); - static HRESULT WrapQueryInterface(IUnknown *real, REFIID riid, void **ppvObject); + static bool HandleWrap(const char *ifaceName, REFIID riid, void **ppvObject); + static HRESULT WrapQueryInterface(IUnknown *real, const char *ifaceName, REFIID riid, + void **ppvObject); ////////////////////////////// // implement IUnknown @@ -57,6 +58,13 @@ public: /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject) + { + return QueryInterface("IUnknown", riid, ppvObject); + } + + // optional overload that's useful for passing down the name of the current interface to put in + // any 'unknown interface' query logs. + HRESULT STDMETHODCALLTYPE QueryInterface(const char *ifaceName, REFIID riid, void **ppvObject) { if(riid == __uuidof(IUnknown)) { @@ -65,7 +73,7 @@ public: return S_OK; } - return WrapQueryInterface(m_pReal, riid, ppvObject); + return WrapQueryInterface(m_pReal, ifaceName, riid, ppvObject); } ULONG STDMETHODCALLTYPE AddRef() @@ -112,30 +120,6 @@ public: /* [retval][out] */ void **ppParent); }; -#define IMPLEMENT_IDXGIOBJECT_WITH_REFCOUNTDXGIOBJECT \ - ULONG STDMETHODCALLTYPE AddRef() { return RefCountDXGIObject::AddRef(); } \ - ULONG STDMETHODCALLTYPE Release() { return RefCountDXGIObject::Release(); } \ - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject) \ - { \ - return RefCountDXGIObject::QueryInterface(riid, ppvObject); \ - } \ - HRESULT STDMETHODCALLTYPE SetPrivateData(REFIID Name, UINT DataSize, const void *pData) \ - { \ - return RefCountDXGIObject::SetPrivateData(Name, DataSize, pData); \ - } \ - HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(REFIID Name, const IUnknown *pUnknown) \ - { \ - return RefCountDXGIObject::SetPrivateDataInterface(Name, pUnknown); \ - } \ - HRESULT STDMETHODCALLTYPE GetPrivateData(REFIID Name, UINT *pDataSize, void *pData) \ - { \ - return RefCountDXGIObject::GetPrivateData(Name, pDataSize, pData); \ - } \ - HRESULT STDMETHODCALLTYPE GetParent(REFIID riid, void **ppvObject) \ - { \ - return RefCountDXGIObject::GetParent(riid, ppvObject); \ - } - #define IMPLEMENT_IDXGIOBJECT_WITH_REFCOUNTDXGIOBJECT_CUSTOMQUERY \ ULONG STDMETHODCALLTYPE AddRef() { return RefCountDXGIObject::AddRef(); } \ ULONG STDMETHODCALLTYPE Release() { return RefCountDXGIObject::Release(); } \ @@ -1692,8 +1676,7 @@ public: } else { - RDCWARN("Wrapping unknown adapter GUID %s", ToStr(riid).c_str()); - RefCountDXGIObject::HandleWrap(riid, ppvAdapter); + RefCountDXGIObject::HandleWrap("IDXGIAdapter", riid, ppvAdapter); } }