Compartilhar via


Camada 1

Esta seção descreve o suporte à camada 1.

  • Hardware no mínimo nível de recurso 11.0.
  • Sem suporte para colchas.
  • Não há suporte para Texture1D ou Texture3D.
  • Suporte a MSAA (antiplasia de várias várias amostras) de 2, 8 ou 16 exemplos. Somente 4x é necessário, exceto nenhum formato de bpp 128.
  • Nenhum padrão de swizzle padrão (o layout dentro de blocos de 64KB e o empacotamento de mip final cabe ao fornecedor de hardware).
  • Limitações sobre como os blocos podem ser acessados quando há mapeamentos duplicados, descritos em limitações de acesso a blocos com mapeamentos duplicados.

Limitações que afetam apenas a camada 1

  • Os recursos em bloco podem ter mapeamentos de NULL, mas ler deles ou gravar neles produz resultados indefinidos, incluindo o dispositivo removido. Os aplicativos podem contornar isso mapeando uma única página fictícia para todas as áreas vazias. Tome cuidado se você gravar e renderizar em uma página mapeada para vários locais de destino de renderização, pois a ordem das gravações será indefinida.
  • Instruções de sombreador para fixar o LOD e os comentários de status mapeados não estão disponíveis. Para obter mais informações, consulte exposição de recursos em blocos HLSL.
  • Restrições de alinhamento para formas de bloco padrão: só é garantido que mips (a partir dos melhores) cujas dimensões são todas múltiplas do tamanho de bloco padrão dão suporte às formas de bloco padrão e podem ter blocos individuais arbitrariamente mapeados/não mapeados. O primeiro mipmap em um recurso em bloco que tem qualquer dimensão que não seja um múltiplo de tamanho de bloco padrão, juntamente com todos os mipmaps mais grosseiros, pode ter uma forma de bloco não padrão, encaixando-se em blocos N 64KB para este conjunto de mips ao mesmo tempo (N relatado ao aplicativo). Esses N blocos são considerados empacotados como uma unidade, que deve ser totalmente mapeado ou totalmente não mapeado pelo aplicativo a qualquer momento, embora os mapeamentos de cada um dos blocos N possam estar em locais arbitrariamente desarticulados em um pool de blocos.
  • Recursos em bloco com mipmaps não são um múltiplo de tamanho de bloco padrão em todas as dimensões não têm permissão para ter um tamanho de matriz maior que 1.
  • Para alternar entre blocos de referência em um pool de blocos por meio de um recurso de de buffer para referenciar os mesmos blocos por meio de um recurso Texture, ou vice-versa, a chamada mais recente para UpdateTileMappings ou CopyTileMappings que define mapeamentos para esses blocos de pool de blocos deve ser para a mesma dimensão de recurso (Buffer versus Textura*) que a dimensão de recurso que será usada para acessar o Telhas. Caso contrário, o comportamento é indefinido, incluindo a chance de redefinição do dispositivo. Portanto, por exemplo, chamar UpdateTileMappings para definir mapeamentos de bloco para um Buffer e UpdateTileMappings para os mesmos blocos no pool de blocos por meio de um recursoTexture2De, em seguida, acessar os blocos por meio do Buffer é inválido. As operações de solução alternativa são redefinir mapeamentos de bloco para um recurso ao alternar entre blocos de compartilhamento buffer e textura (ou vice-versa) ou simplesmente nunca compartilhar blocos em um pool de blocos entre recursos de buffer e recursos de textura.
  • Não há suporte para filtragem de redução mínima/máxima. Para obter informações sobre a filtragem de redução mínima/máxima, consulte recursos de amostragem de textura de recursos em blocos.

camadas de recursos em blocos