PFND3DWDDM1_3DDI_GETMIPPACKING função de retorno de chamada (d3d10umddi.h)
Para um determinado recurso em blocos, retorna quantos mips estão empacotados e quantos blocos são necessários para armazenar todos os mips empacotados.
Sintaxe
PFND3DWDDM1_3DDI_GETMIPPACKING Pfnd3dwddm13DdiGetmippacking;
void Pfnd3dwddm13DdiGetmippacking(
D3D10DDI_HDEVICE hDevice,
D3D10DDI_HRESOURCE hTiledResource,
UINT *pNumPackedMips,
UINT *pNumTilesForPackedMips
)
{...}
Parâmetros
hDevice
Um identificador para o dispositivo de exibição (contexto gráfico).
hTiledResource
Um identificador para o recurso em bloco.
pNumPackedMips
Um ponteiro para uma variável que recebe o número de mips que são empacotados, para uma determinada fatia de matriz, incluindo quaisquer mips que não usam as formas de bloco padrão.
Se não houver empacotamento, um valor igual a zero deverá ser retornado.
pNumTilesForPackedMips
Um ponteiro para uma variável que recebe o número de blocos em que os mips empacotados se encaixam, para uma determinada fatia de matriz.
Esse parâmetro será ignorado se *pNumPackedMips retornar zero.
Valor de retorno
Nenhum
Observações
O driver pode usar a função de retorno de chamada pfnSetErrorCb para definir um código de erro. O driver pode definir E_INVALIDARG se um parâmetro de entrada não existir ou for NULL.
Mips empacotados incluem casos em que vários mips pequenos compartilham blocos e também mips para os quais um determinado dispositivo não pode usar formas de bloco padrão. É possível que um recurso inteiro seja considerado empacotado.
Os aplicativos não são informados das formas de bloco ou layout para mips empacotados e devem simplesmente mapear todos ou nenhum dos blocos embalados se qualquer um dos mipmaps deve ser acessado. Caso contrário, o mapeamento observado de pixels individuais acessados é indefinido e é específico para o IHV (fornecedor de hardware independente).
Mipmaps que têm dimensões de pixel que preenchem totalmente pelo menos um bloco em forma padrão em todas as dimensões não têm permissão para serem considerados parte do conjunto de mips empacotados. Caso contrário, o runtime removerá o dispositivo em um driver inválido.
Um exemplo de dimensões que um dispositivo pode fixar validamente nos blocos empacotados (o que significa que o IHV pode usar sua própria divisão de bloco personalizado) é um mip que tem pelo menos um bloco de largura, mas menor que um bloco alto. O ideal, porém, é que um dispositivo use a divisão de bloco padrão para esse caso (para que o aplicativo possa gerenciar os blocos de maneira padrão). Se um dispositivo precisar usar um bloco personalizado, o aplicativo não será informado do que é o detalhamento do bloco (apenas quantos blocos estão envolvidos no empacotamento geral) e, portanto, perde alguma liberdade.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 8.1, WDDM 1.3 |
servidor com suporte mínimo | Windows Server 2012 R2 |
da Plataforma de Destino | Área de trabalho |
cabeçalho | d3d10umddi.h (inclua D3d10umddi.h) |