Compartilhar via


DDI de sobreposição

Esta seção se aplica somente ao Windows 7 e posterior e ao Windows Server 2008 R2 e versões posteriores do sistema operacional Windows.

A DDI de Sobreposição é uma extensão para a DDI do Direct3D versão 9 para verificar o suporte à sobreposição. A DDI de Sobreposição consiste nos seguintes pontos de entrada:

  • O valor D3DDDICAPS_CHECKOVERLAYSUPPORT da enumeração D3DDDICAPS_TYPE é usado pelo runtime do Direct3D para verificar se o dispositivo de exibição dá suporte a uma sobreposição específica. O runtime define D3DDDICAPS_CHECKOVERLAYSUPPORT no membro Type da estrutura D3DDDIARG_GETCAPS que o parâmetro pData da função GetCaps do driver aponta para quando o runtime chama GetCaps. O runtime também define o membro pInfo de D3DDDIARG_GETCAPS como um ponteiro para uma estrutura DDICHECKOVERLAYSUPPORTINPUT que descreve a sobreposição. Se o driver der suporte à sobreposição, o driver definirá os membros de uma estrutura D3DOVERLAYCAPS e retornará um ponteiro para essa estrutura no membro pData do D3DDDIARG_GETCAPS. Caso contrário, se o driver não der suporte à sobreposição, o driver falhará na chamada para sua função GetCaps com D3DDDIERR_UNSUPPORTEDOVERLAYFORMAT ou D3DDDIERR_UNSUPPORTEDOVERLAY dependendo se a falta de suporte foi baseada no formato de sobreposição. D3DOVERLAYCAPS é descrito na documentação do SDK do DirectX.

    O driver define os membros MaxOverlayDisplayWidth e MaxOverlayDisplayHeight de D3DOVERLAYCAPS para indicar quaisquer restrições que o driver e o hardware possam ter, que envolvem o tamanho final da sobreposição (depois de esticar os dados de sobreposição).

    O driver define os bits de funcionalidade D3DOVERLAYCAPS_STRETCHX (0x00000040) e D3DOVERLAYCAPS_STRETCHY (0x00000080) no membro Caps de D3DOVERLAYCAPS para indicar que o hardware de sobreposição é capaz de alongar e reduzir arbitrariamente os dados de sobreposição. Os drivers não devem tentar emular o alongamento de sobreposição por meio da GPU e só devem definir essas tampas se o hardware de sobreposição der suporte ao alongamento. Normalmente, é necessário menos sobrecarga para que o aplicativo execute o alongamento de GPU como parte da fase de processamento e composição de vídeo do que para que o driver execute uma passagem separada na extremidade para emular o alongamento de sobreposição.

  • O driver deve manipular os novos sinalizadores de campo de bit a seguir da estrutura D3DDDI_OVERLAYINFOFLAGS . Uma estrutura D3DDDI_OVERLAYINFOFLAGS identifica o tipo de operação de sobreposição a ser executada. Uma estrutura D3DDDI_OVERLAYINFOFLAGS é especificada no membro Flags da estrutura D3DDDI_OVERLAYINFO em uma chamada para a função CreateOverlay ou UpdateOverlay do driver.

    LimitedRGB
    A sobreposição é RGB de intervalo limitado em vez de RGB de intervalo completo. No intervalo limitado RGB, o intervalo RGB é compactado de modo que 16:16:16 seja preto e 235:235:235 seja branco.

    YCbCrBT709
    A sobreposição é BT.709, que indica TV de alta definição (HDTV), em vez de BT.601.

    YCbCrxvYCC
    A sobreposição é estendida YCbCr (xvYCC) em vez do YCbCr convencional.

  • Quando o formato de exibição é de 64 bits em vez de 32 bits (por exemplo, quando o Gerenciador de Windows da Área de Trabalho (DWM) usa D3DFMT_A16B16G16R16F para o modo de exibição), o runtime coloca os 32 bits inferiores da chave de cor de sobreposição no membro DstColorKeyLow da estrutura D3DDDI_OVERLAYINFO e os 32 bits superiores no membro DstColorKeyHigh do D3DDDI_OVERLAYINFO.