Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve o recurso MPO (sobreposição de vários planos) introduzido no Windows 8.1 (WDDM 1.3). Ele lista as funções fornecidas pelo sistema e implementadas pelo driver usadas para dar suporte a esse recurso em um UMD (driver de exibição) no modo de usuário e um KMD (driver de miniporto de exibição) no modo kernel no WDDM 1.3 e posterior. Ele também lista as estruturas e enumerações usadas com MPOs.
O suporte ao MPO permite que o hardware gráfico componha várias camadas de conteúdo em uma única imagem que ele possa exibir em uma tela. É essencialmente um método acelerado por hardware de compor diferentes planos de conteúdo sem precisar envolver a CPU ou usar outros recursos do sistema para fazer a mesclagem no software. Um plano pode ser um vídeo, a área de trabalho, uma janela de um aplicativo e assim por diante. O hardware pode então pegar esses planos e combiná-los em uma única imagem que é enviada para a exibição.
Funções de MPO chamadas por drivers de exibição em modo usuário
A tabela a seguir lista as funções de MPO no modo de usuário que o sistema operacional implementa e que os UMDs (drivers de exibição) do modo de usuário podem chamar.
Função | Descrição |
---|---|
D3D: pfnPresentMultiPlaneOverlayCb | Copia o conteúdo de uma alocação de MPO de origem para uma alocação de destino. |
DXGI: pfnPresentMultiPlaneOverlayCb | Copia o conteúdo de uma alocação de MPO de origem para uma alocação de destino. |
Funções de MPO implementadas pelo UMD
Esta seção contém funções que um WDDM 1.3 e um UMD posterior devem implementar para dar suporte a MPOs.
Direct3D: o UMD fornece ponteiros para funções de MPO D3D por meio de membros da estrutura D3DDDI_DEVICEFUNCS em uma chamada para a função CreateDevice da UMD.
DXGI: O UMD fornece ponteiros às funções MPO do DXGI através dos membros da estrutura DXGI1_3_DDI_BASE_FUNCTIONS quando sua função CreateDevice(D3D10) específica do adaptador é chamada. Para obter mais informações, consulte Compatibilidade com o DDI DXGI.
A tabela a seguir lista as funções que um UMD deve implementar para dar suporte a MPOs.
A tabela a seguir lista as funções DDI DXGI que um UMD pode implementar opcionalmente.
Função | Descrição |
---|---|
pfnGetMultiPlaneOverlayCaps | Chamado pelo runtime DXGI para solicitar que o UMD obtenha recursos básicos do plano de sobreposição. |
pfnGetMultiplaneOverlayGroupCaps | Chamado pelo runtime DXGI para solicitar que o UMD obtenha um grupo de recursos do plano de sobreposição. |
Estruturas e enumerações do modo de usuário do MPO
Esta seção lista as estruturas e enumerações do modo de usuário usadas com DDIs de MPO.
Struct/Enum | Descrição |
---|---|
D3DDDI_MULTIPLANE_ALLOCATION_INFO | Especifica informações sobre uma alocação de MPO. |
D3DDDI_MULTIPLANE_OVERLAY_ATTRIBUTES | Usado pelo UMD para especificar atributos de plano de sobreposição. |
D3DDDI_MULTIPLANE_OVERLAY_BLEND | Identifica uma operação de mesclagem a ser executada em um plano de sobreposição. |
D3DDDI_MULTIPLANE_OVERLAY_CAPS | Usado pelo UMD para especificar as funcionalidades do plano de sobreposição. |
D3DDDI_MULTIPLANE_OVERLAY_FEATURE_CAPS | Identifica os recursos de sobreposição. |
D3DDDI_MULTIPLANE_OVERLAY_FLAGS | Identifica uma operação de inversão a ser executada em um plano de sobreposição. |
D3DDDI_MULTIPLANE_OVERLAY_GROUP_CAPS | Usado pelo UMD para especificar um grupo de recursos do plano de sobreposição. |
D3DDDI_MULTIPLANE_OVERLAY_GROUP_CAPS_INPUT | Especifica informações sobre um grupo de capacidades do MPO. |
D3DDDI_MULTIPLANE_OVERLAY_STRETCH_QUALITY | Identifica os processos de filtragem que o hardware deve executar quando ele alonga ou reduz os dados do MPO. |
D3DDDI_MULTIPLANE_OVERLAY_VIDEO_FRAME_FORMAT | Identifica o formato de quadro de vídeo do plano de sobreposição. Somente o valor D3DDDI_MULTIPLANE_OVERLAY_VIDEO_FRAME_FORMAT_PROGRESSIVE tem suporte. |
D3DDDI_MULTIPLANE_OVERLAY_YCbCr_FLAGS | Identifica o intervalo YUV e informações de conversão que descrevem um MPO. |
D3DDDI_PRESENT_MULTIPLANE_OVERLAY | Especifica um plano de sobreposição a ser exibido. |
D3DDDIARG_CHECKMULTIPLANEOVERLAYSUPPORT | Usado em uma chamada para a função pfnCheckMultiPlaneOverlaySupport (D3D) para verificar detalhes sobre o suporte de hardware para MPOs. |
D3DDDIARG_PRESENTMULTIPLANEOVERLAY | Especifica um recurso de MPO a ser exibido. |
D3DDDICB_PRESENTMULTIPLANEOVERLAY | Descreve as alocações de MPO das quais o conteúdo é copiado de e para. |
Funções implementadas pelo driver no modo kernel do MPO
A tabela a seguir lista as funções MPO que o driver de miniporto de exibição no modo kernel (KMD) implementa.
Função | Descrição |
---|---|
DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT | Chamado pelo subsistema de kernel de gráficos DirectX para verificar os detalhes do suporte de hardware para MPOs. |
DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT3 | A função a seguir é chamada para determinar se uma configuração específica de sobreposição de múltiplos planos é suportada. |
DXGKDDI_GETMULTIPLANEOVERLAYCAPS | Chamado para recuperar capacidades do MPO. O suporte para essa DDI é necessário para qualquer WDDM 2.2 KMD que queira dar suporte a vários planos. |
DXGKDDI_POSTMULTIPLANEOVERLAYPRESENT | Chamado depois que uma nova configuração de sobreposição de vários planos entra em vigor, permitindo que o KMD otimize o estado do hardware. Opcional para KMDs 1.3 ou posteriores que dão suporte a sobreposições de vários planos. |
DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 | Chamado para alterar a configuração de sobreposição que está sendo exibida. |
DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT2 | DxgkDdiCheckMultiPlaneOverlaySupport2 é chamado para determinar se há suporte para uma configuração de sobreposição de vários planos específica. |
DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY | Define os endereços de várias superfícies associadas a uma fonte de vídeo específica presente. Essas superfícies incluem o swapchain do Gerenciador de Janelas da Área de Trabalho (DWM). Essa função é usada para apresentar várias superfícies (incluindo a cadeia de troca do DWM) na tela. |
DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY2 | DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay2 é chamado para alterar a configuração de sobreposição que está sendo exibida. |
Estruturas do modo kernel do MPO
A tabela a seguir lista as estruturas que o KMD usa.
Estrutura | Descrição |
---|---|
DXGK_CHECK_MULTIPLANE_OVERLAY_SUPPORT_PLANE | Especifica os atributos de suporte que o hardware fornece para MPOs. |
DXGK_CHECK_MULTIPLANE_OVERLAY_SUPPORT_RETURN_INFO | Especifica limitações no suporte de hardware de MPOs. |
DXGK_MULTIPLANE_OVERLAY_ATTRIBUTES | Usado pelo KMD para especificar atributos de plano de sobreposição. |
DXGK_MULTIPLANE_OVERLAY_ATTRIBUTES2 | DXGK_MULTIPLANE_OVERLAY_ATTRIBUTES2 é usado pelo KMD para especificar atributos de plano de sobreposição. |
DXGK_MULTIPLANE_OVERLAY_BLEND | Identifica uma operação de mesclagem a ser executada em um plano de sobreposição. |
DXGK_MULTIPLANE_OVERLAY_FLAGS | Identifica uma operação de inversão a ser executada em um plano de sobreposição. |
DXGK_MULTIPLANE_OVERLAY_PLANE | Especifica um plano de sobreposição a ser exibido em uma chamada para a função DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay. |
DXGK_MULTIPLANE_OVERLAY_PLANE2 | DXGK_MULTIPLANE_OVERLAY_PLANE2 é usado com a função DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay2 para especificar um plano de sobreposição a ser exibido. |
DXGK_MULTIPLANE_OVERLAY_PLANE_WITH_SOURCE | DXGK_MULTIPLANE_OVERLAY_PLANE_WITH_SOURCE descreve os atributos de plano de sobreposição de vários planos, a alocação e o número de identificação da origem da rede presentes no vídeo. |
DXGK_MULTIPLANE_OVERLAY_VSYNC_INFO | Especifica um plano de sobreposição a ser exibido durante um intervalo VSync. |
DXGK_MULTIPLANE_OVERLAY_YCbCr_FLAGS | Identifica informações sobre intervalo e conversão YUV que descrevem um MPO. |
DXGK_PRESENTMULTIPLANEOVERLAYINFO | Especifica informações sobre uma entrada VidPN e um plano de sobreposição a ser exibido. |
DXGK_PRESENTMULTIPLANEOVERLAYLIST | Especifica um plano de sobreposição a ser exibido em uma chamada para a função DxgkDdiPresent. |
DXGKARG_CHECKMULTIPLANEOVERLAYSUPPORT | Usado em uma chamada para a função DxgkDdiCheckMultiPlaneOverlaySupport para verificar detalhes sobre o suporte de hardware para MPOs. |
DXGKARG_CHECKMULTIPLANEOVERLAYSUPPORT2 | DXGKARG_CHECKMULTIPLANEOVERLAYSUPPORT2 é passada para a função DxgkDdiCheckMultiPlaneOverlaySupport2 para determinar se há suporte para uma configuração de sobreposição de vários planos específica. |
DXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY | Contém argumentos para a função DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay. |
DXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY2 | DXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY2 é passado para a função DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay2 para alterar a configuração de sobreposição que está sendo exibida. |
Enumerações de Modo Kernel do MPO
A tabela a seguir lista as enumerações usadas pelo KMD.
Enumeração | Descrição |
---|---|
Modo de alternância estéreo de sobreposição de múltiplas camadas DXGK | Identifica o modo de inversão estéreo do plano de sobreposição. Somente o valor DXGK_MULTIPLANE_OVERLAY_STEREO_FLIP_NONE tem suporte. |
DXGK_MULTIPLANE_OVERLAY_STEREO_FORMAT | Identifica o formato de apresentação estéreo do plano de sobreposição. Somente o valor DXGK_MULTIPLANE_OVERLAY_STEREO_FORMAT_MONO tem suporte. |
DXGK_MULTIPLANE_OVERLAY_STRETCH_QUALITY | Identifica os processos de filtragem que o hardware deve executar quando ele alonga ou reduz os dados do MPO. |
DXGK_MULTIPLANE_OVERLAY_VIDEO_FRAME_FORMAT | Identifica o formato de quadro de vídeo do plano de sobreposição. Somente o valor DXGK_MULTIPLANE_OVERLAY_VIDEO_FRAME_FORMAT_PROGRESSIVE tem suporte. |
O valor D3DDDICAPS_GET_MULTIPLANE_OVERLAY_GROUP_CAPS em D3DDDICAPS_TYPE indica suporte a UMD para MPOs.