Commit 21df12f1 authored by Biswapriyo Nath's avatar Biswapriyo Nath Committed by Alexandre Julliard

include: Add IDXGIInfoQueue declaration in dxgidebug.idl.

parent 83cbcdef
......@@ -18,6 +18,10 @@
import "oaidl.idl";
const UINT DXGI_DEBUG_BINARY_VERSION = 1;
typedef GUID DXGI_DEBUG_ID;
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);")
......@@ -30,6 +34,205 @@ typedef enum DXGI_DEBUG_RLO_FLAGS {
DXGI_DEBUG_RLO_ALL = 0x0007
} DXGI_DEBUG_RLO_FLAGS;
typedef enum DXGI_INFO_QUEUE_MESSAGE_CATEGORY {
DXGI_INFO_QUEUE_MESSAGE_CATEGORY_UNKNOWN,
DXGI_INFO_QUEUE_MESSAGE_CATEGORY_MISCELLANEOUS,
DXGI_INFO_QUEUE_MESSAGE_CATEGORY_INITIALIZATION,
DXGI_INFO_QUEUE_MESSAGE_CATEGORY_CLEANUP,
DXGI_INFO_QUEUE_MESSAGE_CATEGORY_COMPILATION,
DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_CREATION,
DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_SETTING,
DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_GETTING,
DXGI_INFO_QUEUE_MESSAGE_CATEGORY_RESOURCE_MANIPULATION,
DXGI_INFO_QUEUE_MESSAGE_CATEGORY_EXECUTION,
DXGI_INFO_QUEUE_MESSAGE_CATEGORY_SHADER,
} DXGI_INFO_QUEUE_MESSAGE_CATEGORY;
typedef enum DXGI_INFO_QUEUE_MESSAGE_SEVERITY {
DXGI_INFO_QUEUE_MESSAGE_SEVERITY_CORRUPTION,
DXGI_INFO_QUEUE_MESSAGE_SEVERITY_ERROR,
DXGI_INFO_QUEUE_MESSAGE_SEVERITY_WARNING,
DXGI_INFO_QUEUE_MESSAGE_SEVERITY_INFO,
DXGI_INFO_QUEUE_MESSAGE_SEVERITY_MESSAGE
} DXGI_INFO_QUEUE_MESSAGE_SEVERITY;
typedef int DXGI_INFO_QUEUE_MESSAGE_ID;
cpp_quote("#define DXGI_INFO_QUEUE_MESSAGE_ID_STRING_FROM_APPLICATION 0")
typedef struct DXGI_INFO_QUEUE_MESSAGE {
DXGI_DEBUG_ID Producer;
DXGI_INFO_QUEUE_MESSAGE_CATEGORY Category;
DXGI_INFO_QUEUE_MESSAGE_SEVERITY Severity;
DXGI_INFO_QUEUE_MESSAGE_ID ID;
const char *pDescription;
SIZE_T DescriptionByteLength;
} DXGI_INFO_QUEUE_MESSAGE;
typedef struct DXGI_INFO_QUEUE_FILTER_DESC {
UINT NumCategories;
DXGI_INFO_QUEUE_MESSAGE_CATEGORY *pCategoryList;
UINT NumSeverities;
DXGI_INFO_QUEUE_MESSAGE_SEVERITY *pSeverityList;
UINT NumIDs;
DXGI_INFO_QUEUE_MESSAGE_ID *pIDList;
} DXGI_INFO_QUEUE_FILTER_DESC;
typedef struct DXGI_INFO_QUEUE_FILTER {
DXGI_INFO_QUEUE_FILTER_DESC AllowList;
DXGI_INFO_QUEUE_FILTER_DESC DenyList;
} DXGI_INFO_QUEUE_FILTER;
cpp_quote("#define DXGI_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT 1024")
cpp_quote("HRESULT WINAPI DXGIGetDebugInterface(REFIID riid, void **ppDebug);")
[
uuid(d67441c7-672a-476f-9e82-cd55b44949ce),
object,
local,
pointer_default(unique)
]
interface IDXGIInfoQueue : IUnknown
{
HRESULT SetMessageCountLimit(
[in] DXGI_DEBUG_ID producer,
[in] UINT64 limit);
void ClearStoredMessages(
[in] DXGI_DEBUG_ID producer);
HRESULT GetMessage(
[in] DXGI_DEBUG_ID producer,
[in] UINT64 index,
[out] DXGI_INFO_QUEUE_MESSAGE *message,
[in, out] SIZE_T *length);
UINT64 GetNumStoredMessagesAllowedByRetrievalFilters(
[in] DXGI_DEBUG_ID producer);
UINT64 GetNumStoredMessages(
[in] DXGI_DEBUG_ID producer);
UINT64 GetNumMessagesDiscardedByMessageCountLimit(
[in] DXGI_DEBUG_ID producer);
UINT64 GetMessageCountLimit(
[in] DXGI_DEBUG_ID producer);
UINT64 GetNumMessagesAllowedByStorageFilter(
[in] DXGI_DEBUG_ID producer);
UINT64 GetNumMessagesDeniedByStorageFilter(
[in] DXGI_DEBUG_ID producer);
HRESULT AddStorageFilterEntries(
[in] DXGI_DEBUG_ID producer,
[in] DXGI_INFO_QUEUE_FILTER *filter);
HRESULT GetStorageFilter(
[in] DXGI_DEBUG_ID producer,
[out] DXGI_INFO_QUEUE_FILTER *filter,
[in, out] SIZE_T *length);
void ClearStorageFilter(
[in] DXGI_DEBUG_ID producer);
HRESULT PushEmptyStorageFilter(
[in] DXGI_DEBUG_ID producer);
HRESULT PushDenyAllStorageFilter(
[in] DXGI_DEBUG_ID producer);
HRESULT PushCopyOfStorageFilter(
[in] DXGI_DEBUG_ID producer);
HRESULT PushStorageFilter(
[in] DXGI_DEBUG_ID producer,
[in] DXGI_INFO_QUEUE_FILTER *filter);
void PopStorageFilter(
[in] DXGI_DEBUG_ID producer);
UINT GetStorageFilterStackSize(
[in] DXGI_DEBUG_ID producer);
HRESULT AddRetrievalFilterEntries(
[in] DXGI_DEBUG_ID producer,
[in] DXGI_INFO_QUEUE_FILTER *filter);
HRESULT GetRetrievalFilter(
[in] DXGI_DEBUG_ID producer,
[out] DXGI_INFO_QUEUE_FILTER *filter,
[in, out] SIZE_T *length);
void ClearRetrievalFilter(
[in] DXGI_DEBUG_ID producer);
HRESULT PushEmptyRetrievalFilter(
[in] DXGI_DEBUG_ID producer);
HRESULT PushDenyAllRetrievalFilter(
[in] DXGI_DEBUG_ID producer);
HRESULT PushCopyOfRetrievalFilter(
[in] DXGI_DEBUG_ID producer);
HRESULT PushRetrievalFilter(
[in] DXGI_DEBUG_ID producer,
[in] DXGI_INFO_QUEUE_FILTER *filter);
void PopRetrievalFilter(
[in] DXGI_DEBUG_ID producer);
UINT GetRetrievalFilterStackSize(
[in] DXGI_DEBUG_ID producer);
HRESULT AddMessage(
[in] DXGI_DEBUG_ID producer,
[in] DXGI_INFO_QUEUE_MESSAGE_CATEGORY category,
[in] DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity,
[in] DXGI_INFO_QUEUE_MESSAGE_ID id,
[in] LPCSTR description);
HRESULT AddApplicationMessage(
[in] DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity,
[in] LPCSTR description);
HRESULT SetBreakOnCategory(
[in] DXGI_DEBUG_ID producer,
[in] DXGI_INFO_QUEUE_MESSAGE_CATEGORY category,
[in] BOOL enable);
HRESULT SetBreakOnSeverity(
[in] DXGI_DEBUG_ID producer,
[in] DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity,
[in] BOOL enable);
HRESULT SetBreakOnID(
[in] DXGI_DEBUG_ID producer,
[in] DXGI_INFO_QUEUE_MESSAGE_ID id,
[in] BOOL enable);
BOOL GetBreakOnCategory(
[in] DXGI_DEBUG_ID producer,
[in] DXGI_INFO_QUEUE_MESSAGE_CATEGORY category);
BOOL GetBreakOnSeverity(
[in] DXGI_DEBUG_ID producer,
[in] DXGI_INFO_QUEUE_MESSAGE_SEVERITY severity);
BOOL GetBreakOnID(
[in] DXGI_DEBUG_ID producer,
[in] DXGI_INFO_QUEUE_MESSAGE_ID id);
void SetMuteDebugOutput(
[in] DXGI_DEBUG_ID producer,
[in] BOOL mute);
BOOL GetMuteDebugOutput(
[in] DXGI_DEBUG_ID producer);
}
[
object,
local,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment