Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  dxgidebug.rs   Sprache: unbekannt

 
// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
use ctypes::{c_char, c_int, c_void};
use shared::basetsd::{SIZE_T, UINT64};
use shared::guiddef::{GUID, REFIID};
use shared::minwindef::{BOOL, DWORD, UINT};
use um::unknwnbase::{IUnknown, IUnknownVtbl};
use um::winnt::{HRESULT, LPCSTR};
pub const DXGI_DEBUG_BINARY_VERSION: DWORD = 1;
ENUM!{enum DXGI_DEBUG_RLO_FLAGS {
    DXGI_DEBUG_RLO_SUMMARY = 0x1,
    DXGI_DEBUG_RLO_DETAIL = 0x2,
    DXGI_DEBUG_RLO_IGNORE_INTERNAL = 0x4,
    DXGI_DEBUG_RLO_ALL = 0x7,
}}
pub type DXGI_DEBUG_ID = GUID;
DEFINE_GUID!{DXGI_DEBUG_ALL,
    0xe48ae283, 0xda80, 0x490b, 0x87, 0xe6, 0x43, 0xe9, 0xa9, 0xcf, 0xda, 0x08}
DEFINE_GUID!{DXGI_DEBUG_DX,
    0x35cdd7fc, 0x13b2, 0x421d, 0xa5, 0xd7, 0x7e, 0x44, 0x51, 0x28, 0x7d, 0x64}
DEFINE_GUID!{DXGI_DEBUG_DXGI,
    0x25cddaa4, 0xb1c6, 0x47e1, 0xac, 0x3e, 0x98, 0x87, 0x5b, 0x5a, 0x2e, 0x2a}
DEFINE_GUID!{DXGI_DEBUG_APP,
    0x06cd6e01, 0x4219, 0x4ebd, 0x87, 0x09, 0x27, 0xed, 0x23, 0x36, 0x0c, 0x62}
ENUM!{enum DXGI_INFO_QUEUE_MESSAGE_CATEGORY {
    DXGI_INFO_QUEUE_MESSAGE_CATEGORY_UNKNOWN = 0,
    DXGI_INFO_QUEUE_MESSAGE_CATEGORY_MISCELLANEOUS = 1,
    DXGI_INFO_QUEUE_MESSAGE_CATEGORY_INITIALIZATION = 2,
    DXGI_INFO_QUEUE_MESSAGE_CATEGORY_CLEANUP = 3,
    DXGI_INFO_QUEUE_MESSAGE_CATEGORY_COMPILATION = 4,
    DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_CREATION = 5,
    DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_SETTING = 6,
    DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_GETTING = 7,
    DXGI_INFO_QUEUE_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = 8,
    DXGI_INFO_QUEUE_MESSAGE_CATEGORY_EXECUTION = 9,
    DXGI_INFO_QUEUE_MESSAGE_CATEGORY_SHADER = 10,
}}
ENUM!{enum DXGI_INFO_QUEUE_MESSAGE_SEVERITY {
    DXGI_INFO_QUEUE_MESSAGE_SEVERITY_CORRUPTION = 0,
    DXGI_INFO_QUEUE_MESSAGE_SEVERITY_ERROR = 1,
    DXGI_INFO_QUEUE_MESSAGE_SEVERITY_WARNING = 2,
    DXGI_INFO_QUEUE_MESSAGE_SEVERITY_INFO = 3,
    DXGI_INFO_QUEUE_MESSAGE_SEVERITY_MESSAGE = 4,
}}
pub type DXGI_INFO_QUEUE_MESSAGE_ID = c_int;
STRUCT!{struct DXGI_INFO_QUEUE_MESSAGE {
    Producer: DXGI_DEBUG_ID,
    Category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY,
    Severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY,
    ID: DXGI_INFO_QUEUE_MESSAGE_ID,
    pDescription: *const c_char,
    DescriptionByteLength: SIZE_T,
}}
STRUCT!{struct DXGI_INFO_QUEUE_FILTER_DESC {
    NumCategories: UINT,
    pCategoryList: *mut DXGI_INFO_QUEUE_MESSAGE_CATEGORY,
    NumSeverities: UINT,
    pSeverityList: *mut DXGI_INFO_QUEUE_MESSAGE_SEVERITY,
    NumIDs: UINT,
    pIDList: *mut DXGI_INFO_QUEUE_MESSAGE_ID,
}}
STRUCT!{struct DXGI_INFO_QUEUE_FILTER {
    AllowList: DXGI_INFO_QUEUE_FILTER_DESC,
    DenyList: DXGI_INFO_QUEUE_FILTER_DESC,
}}
pub const DXGI_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT: DWORD = 1024;
extern "system" {
    pub fn DXGIGetDebugInterface(
        riid: REFIID,
        ppDebug: *mut *mut c_void,
    ) -> HRESULT;
}
RIDL!{#[uuid(0xd67441c7, 0x672a, 0x476f, 0x9e, 0x82, 0xcd, 0x55, 0xb4, 0x49, 0x49, 0xce)]
interface IDXGIInfoQueue(IDXGIInfoQueueVtbl): IUnknown(IUnknownVtbl) {
    fn SetMessageCountLimit(
        Producer: DXGI_DEBUG_ID,
        MessageCountLimit: UINT64,
    ) -> HRESULT,
    fn ClearStoredMessages(
        Producer: DXGI_DEBUG_ID,
    ) -> (),
    fn GetMessage(
        Producer: DXGI_DEBUG_ID,
        MessageIndex: UINT64,
        pMessage: *mut DXGI_INFO_QUEUE_MESSAGE,
        pMessageByteLength: *mut SIZE_T,
    ) -> HRESULT,
    fn GetNumStoredMessagesAllowedByRetrievalFilters(
        Producer: DXGI_DEBUG_ID,
    ) -> UINT64,
    fn GetNumStoredMessages(
        Producer: DXGI_DEBUG_ID,
    ) -> UINT64,
    fn GetNumMessagesDiscardedByMessageCountLimit(
        Producer: DXGI_DEBUG_ID,
    ) -> UINT64,
    fn GetMessageCountLimit(
        Producer: DXGI_DEBUG_ID,
    ) -> UINT64,
    fn GetNumMessagesAllowedByStorageFilter(
        Producer: DXGI_DEBUG_ID,
    ) -> UINT64,
    fn GetNumMessagesDeniedByStorageFilter(
        Producer: DXGI_DEBUG_ID,
    ) -> UINT64,
    fn AddStorageFilterEntries(
        Producer: DXGI_DEBUG_ID,
        pFilter: *const DXGI_INFO_QUEUE_FILTER,
    ) -> HRESULT,
    fn GetStorageFilter(
        Producer: DXGI_DEBUG_ID,
        pFilter: *mut DXGI_INFO_QUEUE_FILTER,
        pFilterByteLength: *mut SIZE_T,
    ) -> HRESULT,
    fn ClearStorageFilter(
        Producer: DXGI_DEBUG_ID,
    ) -> (),
    fn PushEmptyStorageFilter(
        Producer: DXGI_DEBUG_ID,
    ) -> HRESULT,
    fn PushDenyAllStorageFilter(
        Producer: DXGI_DEBUG_ID,
    ) -> HRESULT,
    fn PushCopyOfStorageFilter(
        Producer: DXGI_DEBUG_ID,
    ) -> HRESULT,
    fn PushStorageFilter(
        Producer: DXGI_DEBUG_ID,
        pFilter: *const DXGI_INFO_QUEUE_FILTER,
    ) -> HRESULT,
    fn PopStorageFilter(
        Producer: DXGI_DEBUG_ID,
    ) -> (),
    fn GetStorageFilterStackSize(
        Producer: DXGI_DEBUG_ID,
    ) -> UINT,
    fn AddRetrievalFilterEntries(
        Producer: DXGI_DEBUG_ID,
        pFilter: *const DXGI_INFO_QUEUE_FILTER,
    ) -> HRESULT,
    fn GetRetrievalFilter(
        Producer: DXGI_DEBUG_ID,
        pFilter: *mut DXGI_INFO_QUEUE_FILTER,
        pFilterByteLength: *mut SIZE_T,
    ) -> HRESULT,
    fn ClearRetrievalFilter(
        Producer: DXGI_DEBUG_ID,
    ) -> (),
    fn PushEmptyRetrievalFilter(
        Producer: DXGI_DEBUG_ID,
    ) -> HRESULT,
    fn PushDenyAllRetrievalFilter(
        Producer: DXGI_DEBUG_ID,
    ) -> HRESULT,
    fn PushCopyOfRetrievalFilter(
        Producer: DXGI_DEBUG_ID,
    ) -> HRESULT,
    fn PushRetrievalFilter(
        Producer: DXGI_DEBUG_ID,
        pFilter: *const DXGI_INFO_QUEUE_FILTER,
    ) -> HRESULT,
    fn PopRetrievalFilter(
        Producer: DXGI_DEBUG_ID,
    ) -> (),
    fn GetRetrievalFilterStackSize(
        Producer: DXGI_DEBUG_ID,
    ) -> UINT,
    fn AddMessage(
        Producer: DXGI_DEBUG_ID,
        Category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY,
        Severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY,
        ID: DXGI_INFO_QUEUE_MESSAGE_ID,
        pDescription: LPCSTR,
    ) -> HRESULT,
    fn AddApplicationMessage(
        Severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY,
        pDescription: LPCSTR,
    ) -> HRESULT,
    fn SetBreakOnCategory(
        Producer: DXGI_DEBUG_ID,
        Category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY,
        bEnable: BOOL,
    ) -> HRESULT,
    fn SetBreakOnSeverity(
        Producer: DXGI_DEBUG_ID,
        Severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY,
        bEnable: BOOL,
    ) -> HRESULT,
    fn SetBreakOnID(
        Producer: DXGI_DEBUG_ID,
        ID: DXGI_INFO_QUEUE_MESSAGE_ID,
        bEnable: BOOL,
    ) -> HRESULT,
    fn GetBreakOnCategory(
        Producer: DXGI_DEBUG_ID,
        Category: DXGI_INFO_QUEUE_MESSAGE_CATEGORY,
    ) -> BOOL,
    fn GetBreakOnSeverity(
        Producer: DXGI_DEBUG_ID,
        Severity: DXGI_INFO_QUEUE_MESSAGE_SEVERITY,
    ) -> BOOL,
    fn GetBreakOnID(
        Producer: DXGI_DEBUG_ID,
        ID: DXGI_INFO_QUEUE_MESSAGE_ID,
    ) -> BOOL,
    fn SetMuteDebugOutput(
        Producer: DXGI_DEBUG_ID,
        bMute: BOOL,
    ) -> (),
    fn GetMuteDebugOutput(
        Producer: DXGI_DEBUG_ID,
    ) -> BOOL,
}}
RIDL!{#[uuid(0x119e7452, 0xde9e, 0x40fe, 0x88, 0x06, 0x88, 0xf9, 0x0c, 0x12, 0xb4, 0x41)]
interface IDXGIDebug(IDXGIDebugVtbl): IUnknown(IUnknownVtbl) {
    fn ReportLiveObjects(
        apiid: GUID,
        flags: DXGI_DEBUG_RLO_FLAGS,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x119e7452, 0xde9e, 0x40fe, 0x88, 0x06, 0x88, 0xf9, 0x0c, 0x12, 0xb4, 0x41)]
interface IDXGIDebug1(IDXGIDebug1Vtbl): IDXGIDebug(IDXGIDebugVtbl) {
    fn EnableLeakTrackingForThread() -> (),
    fn DisableLeakTrackingForThread() -> (),
    fn IsLeakTrackingEnabledForThread() -> BOOL,
}}
DEFINE_GUID!{IID_IDXGIInfoQueue,
    0xd67441c7, 0x672a, 0x476f, 0x9e, 0x82, 0xcd, 0x55, 0xb4, 0x49, 0x49, 0xce}
DEFINE_GUID!{IID_IDXGIDebug,
    0x119e7452, 0xde9e, 0x40fe, 0x88, 0x06, 0x88, 0xf9, 0x0c, 0x12, 0xb4, 0x41}
DEFINE_GUID!{IID_IDXGIDebug1,
    0xc5a05f0c, 0x16f2, 0x4adf, 0x9f, 0x4d, 0xa8, 0xc4, 0xd5, 0x8a, 0xc5, 0x50}

[ Dauer der Verarbeitung: 0.3 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge