Condividi tramite


Metodo ID3D11Debug::SetFeatureMask (d3d11sdklayers.h)

Impostare un campo bit di flag che attiva e disattiva le funzionalità di debug.

Sintassi

HRESULT SetFeatureMask(
  UINT Mask
);

Parametri

Mask

Tipo: UINT

Combinazione di flag di maschera di funzionalità combinati usando un'operazione OR bit per bit. Se è presente un flag, tale funzionalità verrà impostata su su, in caso contrario, la funzionalità verrà impostata su disattivata. Per le descrizioni dei flag di maschera di funzionalità, vedere Osservazioni.

Valore restituito

Tipo: HRESULT

Questo metodo restituisce uno dei codici restituiti Direct3D 11.

Commenti

Nota Se si chiama questa API in un processo sessione 0, restituisce DXGI_ERROR_NOT_CURRENTLY_AVAILABLE.
 
L'impostazione di uno dei flag di maschera di funzionalità seguenti causerà un metodo di rendering (elencato di seguito) per eseguire alcune attività aggiuntive quando viene chiamato.
D3D11_DEBUG_FEATURE_FINISH_PER_RENDER_OP (0x2) L'applicazione attenderà che la GPU finisca l'elaborazione dell'operazione di rendering prima di continuare.
D3D11_DEBUG_FEATURE_FLUSH_PER_RENDER_OP (0x1) Il runtime chiamerà anche ID3D11DeviceContext::Flush.
D3D11_DEBUG_FEATURE_PRESENT_PER_RENDER_OP (0x4) Il runtime chiamerà IDXGISwapChain::P resent. La presentazione dei buffer di rendering si verificherà in base alle impostazioni stabilite dalle chiamate precedenti a ID3D11Debug::SetSwapChain e ID3D11Debug::SetPresentPerRenderOpDelay.
 

Questi flag di maschera di funzionalità si applicano ai metodi di rendering seguenti:

Impostando uno dei flag di maschera di funzionalità seguenti, è possibile controllare il comportamento dei metodi IDXGIDevice2::OfferResources e IDXGIDevice2::ReclaimResources per facilitare il test e il debug.
Nota Questi flag sono supportati dal runtime Direct3D 11.1, disponibile a partire da Windows 8.
 
D3D11_DEBUG_FEATURE_ALWAYS_DISCARD_OFFERED_RESOURCE (0x8) Quando si chiama IDXGIDevice2::OfferResources per offrire risorse mentre questo flag è abilitato, il contenuto viene sempre eliminato. Usare questo flag per testare i percorsi di codice che rigenerano il contenuto delle risorse nel recupero. Non è possibile usare questo flag in combinazione con D3D11_DEBUG_FEATURE_NEVER_DISCARD_OFFERED_RESOURCE.
D3D11_DEBUG_FEATURE_NEVER_DISCARD_OFFERED_RESOURCE (0x10) Quando si chiama IDXGIDevice2::OfferResources per offrire risorse mentre questo flag è abilitato, il contenuto non viene mai eliminato. Usare questo flag per testare i percorsi di codice che non devono rigenerare il contenuto delle risorse nel recupero. Non è possibile usare questo flag in combinazione con D3D11_DEBUG_FEATURE_ALWAYS_DISCARD_OFFERED_RESOURCE.
 

Il comportamento dei metodi IDXGIDevice2::OfferResources e IDXGIDevice2::ReclaimResources dipende dalla pressione della memoria a livello di sistema. Pertanto, lo scenario in cui il contenuto viene perso e deve essere rigenerato è insolito per la maggior parte delle applicazioni. Le nuove opzioni precedenti nel livello di debug Direct3D consentono di simulare lo scenario in modo coerente e di testare i percorsi di codice.

Il flag seguente è supportato dal runtime Direct3D 11.1.

D3D11_DEBUG_FEATURE_AVOID_BEHAVIOR_CHANGING_DEBUG_AIDS (0x40) Disabilita il comportamento di debug predefinito seguente.
 

Quando il livello di debug è abilitato, esegue determinate azioni per rivelare i problemi dell'applicazione. Impostando il flag D3D11_DEBUG_FEATURE_AVOID_BEHAVIOR_CHANGING_DEBUG_AIDS feature-mask, è possibile abilitare il livello di debug senza ottenere il comportamento predefinito di debug seguente:

Il flag seguente è supportato dal runtime Direct3D 11.2.
D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION (0x80) Disabilita il comportamento di debug predefinito seguente.
 

Per impostazione predefinita, ovvero senza D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION impostato, il livello di debug convalida l'utilizzo appropriato di tutti i mapping di riquadri per le risorse riquadri per le risorse associate per ogni operazione eseguita nel contesto del dispositivo(ad esempio, disegnare, copiare e così via). A seconda delle dimensioni delle risorse riquadri usate (se presenti), questa convalida può essere intensivo e lento. Le app potrebbero voler essere eseguite inizialmente con la convalida del mapping dei riquadri delle risorse riquadri riquadri; quindi, quando determinano che il modello di chiamata è sicuro, può disabilitare la convalida impostando D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION.

Se D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION viene impostato quando viene creata una risorsa riquadri, il livello di debug non esegue mai il rilevamento del mapping dei riquadri per tale risorsa per l'intera durata. In alternativa, se D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION è impostato per qualsiasi chiamata al metodo di contesto del dispositivo specificato (ad esempio disegnare o copiare le chiamate) che coinvolgono le risorse riquadri, il livello di debug ignora la convalida del mapping dei riquadri per la chiamata.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione d3d11sdklayers.h
Libreria D3D11.lib

Vedi anche

Interfaccia ID3D11Debug