Condividi tramite


enumerazione D3D11_BIND_FLAG (d3d11.h)

Identifica come associare una risorsa alla pipeline.

Sintassi

typedef enum D3D11_BIND_FLAG {
  D3D11_BIND_VERTEX_BUFFER = 0x1L,
  D3D11_BIND_INDEX_BUFFER = 0x2L,
  D3D11_BIND_CONSTANT_BUFFER = 0x4L,
  D3D11_BIND_SHADER_RESOURCE = 0x8L,
  D3D11_BIND_STREAM_OUTPUT = 0x10L,
  D3D11_BIND_RENDER_TARGET = 0x20L,
  D3D11_BIND_DEPTH_STENCIL = 0x40L,
  D3D11_BIND_UNORDERED_ACCESS = 0x80L,
  D3D11_BIND_DECODER = 0x200L,
  D3D11_BIND_VIDEO_ENCODER = 0x400L
} ;

Costanti

 
D3D11_BIND_VERTEX_BUFFER
Valore: 0x1L
Associare un buffer come buffer dei vertici alla fase input-assembler.
D3D11_BIND_INDEX_BUFFER
Valore: 0x2L
Associare un buffer come buffer di indice alla fase input-assembler.
D3D11_BIND_CONSTANT_BUFFER
Valore: 0x4L
Associare un buffer come buffer costante a una fase dello shader; questo flag potrebbe NON essere combinato con qualsiasi altro flag di associazione.
D3D11_BIND_SHADER_RESOURCE
Valore: 0x8L
Associare un buffer o una trama a una fase dello shader; questo flag non può essere usato con il flag D3D11_MAP_WRITE_NO_OVERWRITE .

Nota Il runtime Direct3D 11.1, disponibile a partire da Windows 8, abilita il mapping di buffer costanti dinamiche e visualizzazioni risorse shader di buffer dinamici con D3D11_MAP_WRITE_NO_OVERWRITE. Direct3D 11 e versioni precedenti limitano il mapping ai vertex buffer o ai buffer di indice. Per determinare se un dispositivo Direct3D supporta queste funzionalità, chiamare ID3D11Device::CheckFeatureSupport con D3D11_FEATURE_D3D11_OPTIONS. CheckFeatureSupport riempie i membri di una struttura D3D11_FEATURE_DATA_D3D11_OPTIONS con le funzionalità del dispositivo. I membri pertinenti sono MapNoOverwriteOnDynamicConstantBuffer e MapNoOverwriteOnDynamicBufferSRV.

 
D3D11_BIND_STREAM_OUTPUT
Valore: 0x10L
Associare un buffer di output per la fase di output del flusso.
D3D11_BIND_RENDER_TARGET
Valore: 0x20L
Associare una trama come destinazione di rendering per la fase di fusione dell'output.
D3D11_BIND_DEPTH_STENCIL
Valore: 0x40L
Associare una trama come destinazione depth-stencil per la fase di unione dell'output.
D3D11_BIND_UNORDERED_ACCESS
Valore: 0x80L
Associare una risorsa di accesso non ordinata .
D3D11_BIND_DECODER
Valore: 0x200L
Impostare questo flag per indicare che viene usata una trama 2D per ricevere l'output dall'API del decodificatore. Il modo comune per creare risorse per un output del decodificatore consiste nel chiamare il metodo ID3D11Device::CreateTexture2D per creare una matrice di trame 2D. Non è tuttavia possibile usare matrici di trame create con questo flag nelle chiamate a ID3D11Device::CreateShaderResourceView.

Direct3D 11: Questo valore non è supportato fino a Direct3D 11.1.
D3D11_BIND_VIDEO_ENCODER
Valore: 0x400L
Impostare questo flag per indicare che viene usata una trama 2D per ricevere input dall'API del codificatore video. Il modo comune per creare risorse per un codificatore video consiste nel chiamare il metodo ID3D11Device::CreateTexture2D per creare una matrice di trame 2D. Non è tuttavia possibile usare matrici di trame create con questo flag nelle chiamate a ID3D11Device::CreateShaderResourceView.

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

Commenti

In generale, i flag di associazione possono essere combinati usando un OR bit per bit (ad eccezione del flag del buffer costante); È tuttavia consigliabile usare un singolo flag per consentire al dispositivo di ottimizzare l'utilizzo delle risorse.

Questa enumerazione viene utilizzata da un oggetto :

Un buffer delle risorse shader non è un buffer costante; si tratta invece di una trama o di una risorsa buffer associata a uno shader, che contiene dati di trama o buffer (non è limitato a un singolo tipo di elemento nel buffer). Un buffer delle risorse shader viene creato con il flag D3D11_BIND_SHADER_RESOURCE ed è associato alla pipeline usando una di queste API: ID3D11DeviceContext::GSSetShaderResources, ID3D11DeviceContext::P SSetShaderResources o ID3D11DeviceContext::VSSetShaderResources. Inoltre, un buffer di risorse shader non può usare il flag di D3D11_MAP_WRITE_NO_OVERWRITE .
Nota Il runtime Direct3D 11.1, disponibile a partire da Windows 8, abilita il mapping di buffer costanti dinamiche e visualizzazioni risorse shader di buffer dinamici con D3D11_MAP_WRITE_NO_OVERWRITE. Direct3D 11 e versioni precedenti limitano il mapping ai vertex buffer o ai buffer di indice. Per determinare se un dispositivo Direct3D supporta queste funzionalità, chiamare ID3D11Device::CheckFeatureSupport con D3D11_FEATURE_D3D11_OPTIONS. CheckFeatureSupport riempie i membri di una struttura D3D11_FEATURE_DATA_D3D11_OPTIONS con le funzionalità del dispositivo. I membri pertinenti sono MapNoOverwriteOnDynamicConstantBuffer e MapNoOverwriteOnDynamicBufferSRV.
 

Requisiti

   
Intestazione d3d11.h

Vedi anche

Enumerazioni delle risorse