Share via


estrutura D3D12_PACKED_MIP_INFO (d3d12.h)

Descreve a estrutura do bloco de um recurso lado a lado com mipmaps.

Sintaxe

typedef struct D3D12_PACKED_MIP_INFO {
  UINT8 NumStandardMips;
  UINT8 NumPackedMips;
  UINT  NumTilesForPackedMips;
  UINT  StartTileIndexInOverallResource;
} D3D12_PACKED_MIP_INFO;

Membros

NumStandardMips

O número de mipmaps padrão no recurso lado a lado.

NumPackedMips

O número de mipmaps empacotados no recurso lado a lado.

Esse número começa com o mipmap menos detalhado (compartilhando blocos ou usando layout de bloco não padrão). Esse número será 0 se esse empacotamento não estiver no recurso. Para superfícies de matriz, esse valor é o número de mipmaps que são empacotados para uma determinada fatia de matriz em que cada fatia de matriz repete o mesmo empacotamento.

Em Tier_2 hardware de recursos lado a lado, mipmaps que preenchem pelo menos um bloco em forma padrão em todas as dimensões não têm permissão para serem incluídos no conjunto de mipmaps empacotados. Em Tier_1 hardware, mipmaps que são um múltiplo inteiro de um bloco em forma padrão em todas as dimensões não têm permissão para serem incluídos no conjunto de mipmaps empacotados. Mipmaps com pelo menos uma dimensão menor que a forma de bloco padrão podem ou não ser empacotados. Quando um determinado mipmap precisa ser empacotado, todos os mipmaps mais grosseiros para uma determinada fatia de matriz também são considerados empacotados.

NumTilesForPackedMips

O número de blocos para os mipmaps empacotados no recurso lado a lado.

Se não houver empacotamento, esse valor não terá sentido e será definido como 0. Caso contrário, ele será definido como o número de blocos necessários para representar o conjunto de mipmaps empacotados. O layout de pixel dentro dos mipmaps empacotados é específico do hardware. Se os aplicativos definirem apenas mapeamentos parciais para o conjunto de blocos em mipmaps empacotados, o comportamento de leitura e gravação será específico e indefinido pelo fornecedor. Para matrizes, esse valor é apenas a contagem de mipmaps empacotados dentro dos sub-recursos para cada fatia de matriz.

StartTileIndexInOverallResource

O deslocamento do primeiro bloco empacotado para o recurso no intervalo geral de blocos. Se NumPackedMips for 0, esse valor não tem sentido e será 0. Caso contrário, será o deslocamento do primeiro bloco empacotado para o recurso no intervalo geral de blocos para o recurso. Um valor de 0 para StartTileIndexInOverallResource significa que todo o recurso está empacotado. Para superfícies de matriz, esse é o deslocamento para os blocos que contêm os mipmaps empacotados para a primeira fatia de matriz. Mipmaps empacotados para cada fatia de matriz em superfícies matrizes estão nesse deslocamento após o início dos blocos para cada fatia de matriz.

Nota O número de blocos gerais, empacotados ou não, para uma determinada fatia de matriz é simplesmente o número total de blocos para o recurso dividido pelo tamanho da matriz do recurso, portanto, é fácil localizar o intervalo de blocos para qualquer fatia de matriz específica, da qual StartTileIndexInOverallResource identifica quais deles estão empacotados.
 

Comentários

Essa estrutura é usada pelo método GetResourceTiling .

Requisitos

   
Cabeçalho d3d12.h

Confira também

CD3DX12_PACKED_MIP_INFO

Estruturas principais