Compartilhar via


D3D11_BIND_FLAG enumeração (d3d11.h)

Identifica como associar um recurso ao pipeline.

Syntax

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
} ;

Constantes

 
D3D11_BIND_VERTEX_BUFFER
Valor: 0x1L
Associe um buffer como um buffer de vértice ao estágio input-assembler.
D3D11_BIND_INDEX_BUFFER
Valor: 0x2L
Associe um buffer como um buffer de índice ao estágio input-assembler.
D3D11_BIND_CONSTANT_BUFFER
Valor: 0x4L
Associar um buffer como um buffer constante a um estágio de sombreador; esse sinalizador não pode ser combinado com qualquer outro sinalizador de associação.
D3D11_BIND_SHADER_RESOURCE
Valor: 0x8L
Associar um buffer ou textura a um estágio de sombreador; esse sinalizador não pode ser usado com o sinalizador D3D11_MAP_WRITE_NO_OVERWRITE .

Nota O runtime do Direct3D 11.1, que está disponível a partir do Windows 8, permite mapear buffers constantes dinâmicos e SRVs (exibições de recursos de sombreador) de buffers dinâmicos com D3D11_MAP_WRITE_NO_OVERWRITE. O mapeamento limitado de runtimes do Direct3D 11 e anteriores para buffers de vértice ou índice. Para determinar se um dispositivo Direct3D dá suporte a esses recursos, chame ID3D11Device::CheckFeatureSupport com D3D11_FEATURE_D3D11_OPTIONS. CheckFeatureSupport preenche membros de uma estrutura de D3D11_FEATURE_DATA_D3D11_OPTIONS com os recursos do dispositivo. Os membros relevantes aqui são MapNoOverwriteOnDynamicConstantBuffer e MapNoOverwriteOnDynamicBufferSRV.

 
D3D11_BIND_STREAM_OUTPUT
Valor: 0x10L
Associe um buffer de saída para o estágio de saída de fluxo.
D3D11_BIND_RENDER_TARGET
Valor: 0x20L
Associe uma textura como um destino de renderização para o estágio de fusão de saída.
D3D11_BIND_DEPTH_STENCIL
Valor: 0x40L
Associe uma textura como um destino de estêncil de profundidade para o estágio de fusão de saída.
D3D11_BIND_UNORDERED_ACCESS
Valor: 0x80L
Associar um recurso de acesso não ordenado .
D3D11_BIND_DECODER
Valor: 0x200L
Defina esse sinalizador para indicar que uma textura 2D é usada para receber a saída da API do decodificador. A maneira comum de criar recursos para uma saída de decodificador é chamando o método ID3D11Device::CreateTexture2D para criar uma matriz de texturas 2D. No entanto, você não pode usar matrizes de textura criadas com esse sinalizador em chamadas para ID3D11Device::CreateShaderResourceView.

Direct3D 11: Esse valor não tem suporte até Direct3D 11.1.
D3D11_BIND_VIDEO_ENCODER
Valor: 0x400L
Defina esse sinalizador para indicar que uma textura 2D é usada para receber entrada da API do codificador de vídeo. A maneira comum de criar recursos para um codificador de vídeo é chamando o método ID3D11Device::CreateTexture2D para criar uma matriz de texturas 2D. No entanto, você não pode usar matrizes de textura criadas com esse sinalizador em chamadas para ID3D11Device::CreateShaderResourceView.

Direct3D 11: Esse valor não tem suporte até Direct3D 11.1.

Comentários

Em geral, os sinalizadores de associação podem ser combinados usando um OR bit a bit (exceto o sinalizador de buffer constante); no entanto, você deve usar um único sinalizador para permitir que o dispositivo otimize o uso do recurso.

Essa enumeração é usada por um:

Um buffer de recurso de sombreador NÃO é um buffer constante; em vez disso, é um recurso de textura ou buffer associado a um sombreador, que contém dados de textura ou buffer (ele não está limitado a um único tipo de elemento no buffer). Um buffer de recurso de sombreador é criado com o sinalizador D3D11_BIND_SHADER_RESOURCE e é associado ao pipeline usando uma destas APIs: ID3D11DeviceContext::GSSetShaderResources, ID3D11DeviceContext::P SSetShaderResources ou ID3D11DeviceContext::VSSetShaderResources. Além disso, um buffer de recurso de sombreador não pode usar o sinalizador D3D11_MAP_WRITE_NO_OVERWRITE .
Nota O runtime do Direct3D 11.1, que está disponível a partir do Windows 8, permite mapear buffers constantes dinâmicos e SRVs (exibições de recursos de sombreador) de buffers dinâmicos com D3D11_MAP_WRITE_NO_OVERWRITE. O mapeamento limitado de runtimes do Direct3D 11 e anteriores para buffers de vértice ou índice. Para determinar se um dispositivo Direct3D dá suporte a esses recursos, chame ID3D11Device::CheckFeatureSupport com D3D11_FEATURE_D3D11_OPTIONS. CheckFeatureSupport preenche membros de uma estrutura de D3D11_FEATURE_DATA_D3D11_OPTIONS com os recursos do dispositivo. Os membros relevantes aqui são MapNoOverwriteOnDynamicConstantBuffer e MapNoOverwriteOnDynamicBufferSRV.
 

Requisitos

   
Cabeçalho d3d11.h

Confira também

Enumerações de recursos