Share via


enumerazione D3D10_CREATE_DEVICE_FLAG (d3d10.h)

Flag di creazione del dispositivo.

Sintassi

typedef enum D3D10_CREATE_DEVICE_FLAG {
  D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1,
  D3D10_CREATE_DEVICE_DEBUG = 0x2,
  D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
  D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8,
  D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = 0x10,
  D3D10_CREATE_DEVICE_BGRA_SUPPORT = 0x20,
  D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x80,
  D3D10_CREATE_DEVICE_STRICT_VALIDATION = 0x200,
  D3D10_CREATE_DEVICE_DEBUGGABLE = 0x400
} ;

Costanti

 
D3D10_CREATE_DEVICE_SINGLETHREADED
Valore: 0x1
Usare questo flag se un'applicazione chiamerà D3D10 solo da un singolo thread. Se questo flag non viene specificato, il comportamento predefinito di D3D10
consiste nell'immettere un blocco durante ogni chiamata API per impedire che più thread modifichino lo stato interno. Utilizzando questo flag non verranno eseguiti blocchi che possono
aumentare leggermente le prestazioni, ma potrebbe comportare un comportamento non definito se D3D10 viene chiamato da più thread.
D3D10_CREATE_DEVICE_DEBUG
Valore: 0x2
Creare un dispositivo che supporti il livello di debug.
D3D10_CREATE_DEVICE_SWITCH_TO_REF
Valore: 0x4
Creare contemporaneamente una versione software (REF) e hardware (HAL) del dispositivo, che consente a un'applicazione di passare a un
fare riferimento al dispositivo per abilitare il debug. Per altre informazioni, vedere l'interfaccia ID3D10SwitchToRef .
D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS
Valore: 0x8
Impedisce la creazione di più thread. Quando questo flag viene usato con un dispositivo WARP, non verranno creati thread aggiuntivi da WARP e da tutti
la rasterizzazione verrà eseguita nel thread chiamante. Questo flag non è consigliato per l'uso generale. Vedere la sezione Osservazioni.
D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP
Valore: 0x10
Restituisce un puntatore NULL anziché attivare un'eccezione sull'esaurimento della memoria durante le chiamate a Map.
Senza questo flag verrà generata un'eccezione in caso di esaurimento della memoria. Valido solo in Windows 7.
D3D10_CREATE_DEVICE_BGRA_SUPPORT
Valore: 0x20
Causa l'esito negativo della creazione del dispositivo se il supporto BGRA non è disponibile.

Il supporto BGRA abilita i formati seguenti.


  • DXGI_FORMAT_B8G8R8A8_TYPELESS

  • DXGI_FORMAT_B8G8R8A8_UNORM

  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

  • DXGI_FORMAT_B8G8R8X8_TYPELESS

  • DXGI_FORMAT_B8G8R8X8_UNORM

  • DXGI_FORMAT_B8G8R8X8_UNORM_SRGB


D3D10_CREATE_DEVICE_BGRA_SUPPORT è rilevante solo quando viene creato un dispositivo con D3D10CreateDevice1
o D3D10CreateDeviceAndSwapChain1 usando il D3D10_FEATURE_LEVEL_10_0 o il D3D10_FEATURE_LEVEL_10_1
i livelli di funzionalità, il flag verrà ignorato quando viene creato un dispositivo con altri livelli di funzionalità.

Si noti che il supporto BGRA può essere presente anche se l'applicazione non ha specificato D3D10_CREATE_DEVICE_BGRA_SUPPORT.
Il flag causa semplicemente l'esito negativo della creazione del dispositivo se il supporto BGRA non è disponibile.

D3D10_CREATE_DEVICE_BGRA_SUPPORT è valido solo nei sistemi Windows 7, Windows Server 2008 R2 e Windows Vista (KB971644) aggiornati.
D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY
Valore: 0x80
Fa sì che il runtime Direct3D ignori le impostazioni del Registro di sistema che attivano il livello di debug. È possibile attivare il livello di debug usando il Pannello di controllo DirectX incluso come parte di DirectX SDK. Abbiamo fornito l'ultima versione di DirectX SDK nel giugno 2010; è possibile scaricarlo dall'Area download Microsoft. Puoi impostare questo flag nella tua app, in genere solo nelle build di versione, per impedire agli utenti finali di usare il Pannello di controllo DirectX per monitorare il modo in cui l'app usa Direct3D.

Nota Puoi anche impostare questo flag nella tua app per impedire agli strumenti di debug Direct3D, ad esempio Visual Studio Ultimate 2012, di associare l'app.

 

Windows 8.1: questo flag non impedisce Visual Studio 2013 e versioni successive in esecuzione in Windows 8.1 e versioni successive di associare l'app. Tuttavia, questo flag impedisce ancora Visual Studio 2013 e versioni successive in esecuzione su Windows 8 e versioni precedenti di associare l'app.

Direct3D 11: Questo valore non è supportato fino a Direct3D 11.1.
D3D10_CREATE_DEVICE_STRICT_VALIDATION
Valore: 0x200
Riservato. Questo flag non è attualmente supportato. Non usare.
D3D10_CREATE_DEVICE_DEBUGGABLE
Valore: 0x400
Fa sì che il dispositivo e il driver mantengano le informazioni che è possibile usare per il debug dello shader. L'impatto esatto di questo flag varia da driver a driver. Per usare questo flag, è necessario aver installato D3D11_1SDKLayers.dll; in caso contrario, la creazione del dispositivo non riesce. Il dispositivo creato supporta il livello di debug. Per ottenere D3D11_1SDKLayers.dll, è necessario installare l'SDK per Windows 8.

Direct3D 11: Questo valore non è supportato fino a Direct3D 11.1.

Commenti

I flag di creazione del dispositivo vengono usati da D3D10CreateDevice e D3D10CreateDeviceAndSwapChain.

Un'applicazione potrebbe creare (ed eliminare) dinamicamente thread per migliorare le prestazioni soprattutto in un computer con più core CPU. Possono tuttavia verificarsi casi in cui un'applicazione deve impedire la creazione di thread aggiuntivi. Ciò può verificarsi quando si vuole semplificare il debug, il codice del profilo o sviluppare uno strumento, ad esempio. Per questi casi, usare D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS per richiedere che il runtime e il driver video non creino thread aggiuntivi che potrebbero interferire con l'applicazione.

Requisiti

Requisito Valore
Intestazione d3d10.h

Vedi anche

Enumerazioni principali