PFND3DDDI_CHECKDIRECTFLIPSUPPORT função de retorno de chamada (d3dumddi.h)

Chamado pelo DWM (Gerenciador de Janelas da Área de Trabalho) para verificar se o driver de modo de usuário dá suporte a operações de Inversão Direta, nas quais a memória de vídeo é invertida perfeitamente entre as alocações primárias gerenciadas de um aplicativo e as alocações primárias gerenciadas do DWM.

Sintaxe

PFND3DDDI_CHECKDIRECTFLIPSUPPORT Pfnd3dddiCheckdirectflipsupport;

HRESULT Pfnd3dddiCheckdirectflipsupport(
  HANDLE hDevice,
  D3DDDIARG_CHECKDIRECTFLIPSUPPORT *unnamedParam2
)
{...}

Parâmetros

hDevice

Um identificador para o dispositivo de exibição (contexto gráfico).

unnamedParam2

pData [in, out]

Um ponteiro para uma estrutura D3DDDIARG_CHECKDIRECTFLIPSUPPORT que define os parâmetros para a operação.

Retornar valor

Retorna S_OK ou um resultado de erro apropriado se a operação não for executada com êxito.

Comentários

Essa função é chamada pelo menos uma vez antes que o DWM tente apresentar a uma cadeia de troca do Direct Flip. Ele também é chamado depois que cada alteração de modo ocorre ou depois que o DWM recria sua própria cadeia de troca por qualquer motivo.

O driver de modo de usuário deve garantir que as alocações primárias gerenciadas do aplicativo e do DWM tenham os seguintes recursos compatíveis:

  • Recursos estéreo.
  • Vários formatos MSAA (Anti aliasing de exemplo).
  • Formatos de swizzle. Se o swizzle só puder ser alterado em cada intervalo VSync, verifique se o membro CheckDirectFlipFlags da estrutura D3DDDI_CHECK_DIRECT_FLIP_FLAGS não tem um valor de D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE.
  • Ambas as alocações primárias gerenciadas devem ser criadas usando o mesmo valor VidPnSourceId na estrutura D3DDDI_ALLOCATIONINFO .
  • As configurações do adaptador de exibição estão vinculadas.
O driver de modo de usuário pode precisar chamar o driver do modo kernel para executar essas validações. Para fazer isso, chame a função de retorno de chamada pfnEscapeCb e, em seguida, chame a função DxgkCbGetHandleData para acessar os dados de alocação de recursos do driver do modo kernel.

Como o DWM normalmente cria seu próprio dispositivo usando o nível de recurso mais alto possível do Microsoft Direct3D, o DWM não chamará essa função se o hardware der suporte a uma DDI (interface de driver de dispositivo) Direct3D maior que a versão 9.3. No entanto, qualquer driver do Microsoft Direct3D 9 deve implementar essa função para habilitar a experiência do usuário do Direct Flip.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8
Servidor mínimo com suporte Windows Server 2012
Plataforma de Destino Área de Trabalho
Cabeçalho d3dumddi.h (inclua D3dumddi.h)

Confira também

D3DDDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_DEVICEFUNCS