Compartilhar via


Camada 1

Esta seção descreve o suporte de nível 1.

  • Hardware em nível de recurso mínimo 11.0.
  • Não há suporte para quilting.
  • Não há suporte para Texture1D ou Texture3D.
  • Não há suporte para suavização multisample (MSAA) para 2, 8 ou 16 amostras. Somente 4x é necessário, exceto nenhum formato de 128 bpp.
  • Nenhum padrão swizzle (o layout em blocos de 64 KB e na compactação MIP final depende do 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 NULL , mas ler ou gravar neles produz resultados indefinidos, incluindo o dispositivo removido. Os aplicativos podem resolver isso mapeando uma única página fictícia para todas as áreas vazias. Tome cuidado se você escrever e renderizar em uma página mapeada para vários locais de destino de renderização, pois a ordem das gravações será indefinida.
  • As instruções do sombreador para fixação de nível de detalhe e feedback de status mapeado 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 (começando do melhor) 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 tenha 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 em blocos N 64KB para esse conjunto de mips de uma só vez (N relatado ao aplicativo). Esses blocos N são considerados compactados como uma unidade, que deve ser totalmente mapeada ou totalmente desmapeada pelo aplicativo a qualquer momento, embora os mapeamentos de cada um dos blocos N possam ser em locais arbitrariamente separados 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 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 os blocos. Caso contrário, o comportamento será indefinido, incluindo a chance de redefinição do dispositivo. Portanto, por exemplo, chamar UpdateTileMappings para definir mapeamentos de bloco para um Buffer e AtualizarTileMappings para os mesmos blocos no pool de blocos por meio de um recurso Texture2D e, em seguida, acessar os blocos por meio do Buffer é inválido. As operações alternativas são redefinir os mapeamentos de blocos para um recurso ao alternar entre Buffer e Texture (ou vice-versa) compartilhando os blocos ou simplesmente nunca compartilhar blocos de um pool entre recursos Buffer e recursos Texture.
  • Não há suporte para a 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 bloco.

Camadas de recursos em bloco