From: Steve Lhomme Subject: [PATCH 2/2] Add dxgidebug.idl Message-Id: Date: Tue, 12 May 2015 16:24:53 +0200 --- Useful to debug DXGI leaks See https://msdn.microsoft.com/en-us/library/windows/desktop/hh780352%28v=vs.85%29.aspx --- include/Makefile.in | 1 + include/dxgidebug.idl | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 include/dxgidebug.idl diff --git a/include/Makefile.in b/include/Makefile.in index ad87f47..d496bd8 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -42,6 +42,7 @@ PUBLIC_IDL_H_SRCS = \ dwrite_2.idl \ dxgi.idl \ dxgi1_2.idl \ + dxgidebug.idl \ dxva2api.idl \ endpointvolume.idl \ exdisp.idl \ diff --git a/include/dxgidebug.idl b/include/dxgidebug.idl new file mode 100644 index 0000000..94f57da --- /dev/null +++ b/include/dxgidebug.idl @@ -0,0 +1,44 @@ +/* + * Copyright 2015 Steve Lhomme + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "oaidl.idl"; + +cpp_quote("DEFINE_GUID(DXGI_DEBUG_ALL, 0xe48ae283, 0xda80, 0x490b, 0x87, 0xe6, 0x43, 0xe9, 0xa9, 0xcf, 0xda, 0x08);") +cpp_quote("DEFINE_GUID(DXGI_DEBUG_DX, 0x35cdd7fc, 0x13b2, 0x421d, 0xa5, 0xd7, 0x7e, 0x44, 0x51, 0x28, 0x7d, 0x64);") +cpp_quote("DEFINE_GUID(DXGI_DEBUG_DXGI, 0x25cddaa4, 0xb1c6, 0x47e1, 0xac, 0x3e, 0x98, 0x87, 0x5b, 0x5a, 0x2e, 0x2a);") +cpp_quote("DEFINE_GUID(DXGI_DEBUG_APP, 0x06cd6e01, 0x4219, 0x4ebd, 0x87, 0x90, 0x27, 0xed, 0x23, 0x36, 0x0c, 0x62);") + +typedef enum DXGI_DEBUG_RLO_FLAGS { + DXGI_DEBUG_RLO_SUMMARY = 0x0001, + DXGI_DEBUG_RLO_DETAIL = 0x0002, + DXGI_DEBUG_RLO_IGNORE_INTERNAL = 0x0004, + DXGI_DEBUG_RLO_ALL = 0x0007 +} DXGI_DEBUG_RLO_FLAGS; + +[ + object, + local, + uuid(119e7452-de9e-40fe-8806-88f90c12b441) +] +interface IDXGIDebug : IUnknown +{ + HRESULT ReportLiveObjects( + [in] GUID apiid, + [in] DXGI_DEBUG_RLO_FLAGS flags); +} + -- 2.4.0