Partilhar via


Criação de recursos em mosaico

Os recursos em mosaico são criados especificando o sinalizador D3D11_RESOURCE_MISC_TILED ao criar um recurso.

As restrições sobre quando se pode usar D3D11_RESOURCE_MISC_TILED para criar um recurso estão descritas em Parâmetros de criação de recursos 'tiled'.

O armazenamento de um recurso não segmentado é alocado no sistema gráfico quando o recurso é criado. Por exemplo, quando você chama ID3D11Device::CreateTexture2D para criar uma matriz de texturas 2D, o sistema gráfico aloca armazenamento para essas texturas 2D. Quando um recurso em mosaico é criado, o sistema gráfico não aloca o armazenamento para o conteúdo do recurso. Em vez disso, quando uma aplicação cria um recurso em mosaico, o sistema gráfico reserva espaço de endereço apenas para a área da superfície em mosaico e permite então que o mapeamento dos blocos seja controlado pela aplicação. O "mapeamento" de um bloco é simplesmente o local físico na memória para o qual um bloco lógico em um recurso aponta (ou NULL para um bloco não mapeado). Não confunda esse conceito com a noção de mapear um recurso Direct3D para acesso à CPU, que apesar de usar o mesmo nome é completamente independente. Você será capaz de definir e alterar o mapeamento de cada bloco individualmente, conforme necessário, sabendo que todos os blocos para uma superfície não precisam ser mapeados de cada vez, fazendo assim uso efetivo da quantidade de memória disponível.

Esta seção fornece mais informações sobre como criar recursos em mosaico.

Nesta secção

Tópico Descrição
Os mapeamentos estão em um pool de blocos
Quando um recurso é criado com o sinalizador D3D11_RESOURCE_MISC_TILED, os mosaicos que compõem o recurso são obtidos ao apontar para locais em um pool de mosaicos. Um pool de blocos é um pool de memória (apoiado por uma ou mais alocações nos bastidores - não visto pelo aplicativo).
Parâmetros de criação de recursos em mosaico
Há algumas restrições sobre o tipo de recursos Direct3D que você pode criar com o sinalizador D3D11_RESOURCE_MISC_TILED. Esta seção fornece os parâmetros válidos para a criação de recursos em mosaico.
Espaço de endereçamento disponível para recursos em mosaico
Esta secção especifica o espaço de endereço virtual disponível para recursos segmentados.
Parâmetros de criação do pool de blocos
Use os parâmetros nesta seção para definir pools de blocos por meio da ID3D11Device::CreateBuffer API.
Compartilhamento de recursos em mosaico entre processos e dispositivos
Os pools de blocos podem ser compartilhados com outros processos, assim como os recursos tradicionais. Os recursos em mosaico que fazem referência a pools de blocos não podem ser compartilhados entre diferentes dispositivos e processos. Mas processos separados podem criar os seus próprios recursos em mosaico que são mapeados para pools de mosaicos que são compartilhados entre esses recursos em mosaico.
Operações disponíveis em recursos em mosaico
Esta seção lista as operações que você pode executar em recursos com mosaico.
Operações disponíveis em conjuntos de azulejos
Esta seção lista as operações que você pode executar em conjuntos de blocos.
Como a área de um recurso em mosaico é organizada
Quando cria um recurso em mosaico, as dimensões, o tamanho do elemento de formato e o número de mipmaps e/ou fatias de matriz (se aplicável) determinam o número de blocos necessários para suportar toda a área de superfície.

Recursos em mosaico