estrutura D3D11_RESOURCE_FLAGS (d3d11on12.h)
Usado com ID3D11On12Device::CreateWrappedResource para substituir sinalizadores que seriam inferidos pelas propriedades do recurso ou propriedades de heap, incluindo sinalizadores de associação, sinalizadores de erro e sinalizadores de acesso da CPU.
Sintaxe
typedef struct D3D11_RESOURCE_FLAGS {
UINT BindFlags;
UINT MiscFlags;
UINT CPUAccessFlags;
UINT StructureByteStride;
} D3D11_RESOURCE_FLAGS;
Membros
BindFlags
Os sinalizadores de associação devem ser completamente inferidos ou completamente especificados para permitir que o driver de gráficos tenha como escopo um recurso D3D12 geral para algo que o D3D11 possa entender.
Se um sinalizador de associação for especificado, o que não é compatível com o recurso fornecido, um erro será retornado.
Os seguintes sinalizadores de associação (D3D11_BIND_FLAG constantes de enumeração) não serão assumidos e deverão ser especificados para que um recurso seja usado de tal forma:
- D3D11_BIND_VERTEX_BUFFER
- D3D11_BIND_INDEX_BUFFER
- D3D11_BIND_CONSTANT_BUFFER
- D3D11_BIND_STREAM_OUTPUT
- D3D11_BIND_DECODER
- D3D11_BIND_VIDEO_ENCODER
- D3D11_BIND_SHADER_RESOURCE, desde que D3D12_RESOURCE_MISC_DENY_SHADER_RESOURCE não esteja presente
- D3D11_BIND_RENDER_TARGET, se D3D12_RESOURCE_MISC_ALLOW_RENDER_TARGET estiver presente
- D3D11_BIND_DEPTH_STENCIL, se D3D12_RESOURCE_MISC_ALLOW_DEPTH_STENCIL estiver presente
- D3D11_BIND_UNORDERED_ACCESS, se D3D12_RESOURCE_MISC_ALLOW_UNORDERED_ACCESS estiver presente
MiscFlags
Se os sinalizadores misc forem diferentes de zero, os sinalizadores especificados serão OR'd no desc de recurso final com sinalizadores inferidos. Sinalizadores incorretos podem ser parcialmente especificados para adicionar funcionalidade, mas sinalizadores incorretos que estão implícitos não podem ser mascarados.
Os seguintes sinalizadores misc (D3D11_RESOURCE_MISC_FLAG constantes de enumeração) não serão assumidos:
- D3D11_RESOURCE_MISC_GENERATE_MIPS (conflitos com CLAMP).
- D3D11_RESOURCE_MISC_TEXTURECUBE (altera o comportamento de exibição padrão).
- D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS (exclusivo com alguns sinalizadores de associação).
- D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS (exclusivo com outros tipos de UAVs).
- D3D11_RESOURCE_MISC_BUFFER_STRUCTURED (exclusivo com outros tipos de UAVs).
- D3D11_RESOURCE_MISC_RESOURCE_CLAMP (proíbe QIs D3D10, entra em conflito com GENERATE_MIPS).
- D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX. É possível criar um recurso mutex com chave D3D11, criar um identificador compartilhado para ele e abri-lo por meio de 11on12 ou D3D11.
- D3D11_RESOURCE_MISC_SHARED, D3D11_RESOURCE_MISC_SHARED_NTHANDLE, D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE, se houver sinalizadores de erro de heap apropriados.
- D3D11_RESOURCE_MISC_GDI_COMPATIBLE, se o recurso D3D12 for compatível com GDI.
- D3D11_RESOURCE_MISC_TILED, se o recurso D3D12 foi criado por meio de CreateReservedResource.
- D3D11_RESOURCE_MISC_TILE_POOL, se um heap D3D12 foi passado.
- D3D11_RESOURCE_MISC_RESTRICTED_CONTENT, já que o D3D12 dá suporte apenas à proteção de hardware.
- D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER não existe no 12 e não pode ser adicionado após a criação do recurso.
- D3D11_RESOURCE_MISC_GUARDED deve ser definida apenas por um mecanismo de criação interna.
CPUAccessFlags
O CPUAccessFlags não é inferido do recurso D3D12. Isso ocorre porque todos os recursos são tratados como D3D11_USAGE_DEFAULT, portanto, CPUAccessFlags forçam a validação que pressupõe o Mapa de buffers ou texturas padrão. Os recursos encapsulados não dão suporte a Map(DISCARD). Os recursos encapsulados não dão suporte a Map(NO_OVERWRITE), mas podem ser implementados mapeando o recurso D3D12 subjacente. A emissão de uma chamada de Mapa em um recurso encapsulado será sincronizada com todo o trabalho D3D11 enviado nesse recurso, a menos que o sinalizador DO_NOT_WAIT tenha sido usado.
StructureByteStride
O tamanho de cada elemento na estrutura do buffer (em bytes) quando o buffer representa um buffer estruturado.
Comentários
Use essa estrutura com CreateWrappedResource.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | d3d11on12.h |