Compartilhar via


estrutura DXGK_PRESENTFLAGS (d3dkmddi.h)

A estrutura DXGK_PRESENTFLAGS identifica, em sinalizadores de campo de bit, o tipo de operação presente a ser executada.

Sintaxe

typedef struct _DXGK_PRESENTFLAGS {
  union {
    struct {
      UINT Blt : 1;
      UINT ColorFill : 1;
      UINT Flip : 1;
      UINT FlipWithNoWait : 1;
      UINT SrcColorKey : 1;
      UINT DstColorKey : 1;
      UINT LinearToSrgb : 1;
      UINT Rotate : 1;
      UINT FlipStereo : 1;
      UINT FlipStereoTemporaryMono : 1;
      UINT FlipStereoPreferRight : 1;
      UINT BltStereoUseRight : 1;
      UINT FlipWithMultiPlaneOverlay : 1;
      UINT RedirectedFlip : 1;
#if ...
      UINT Reserved : 18;
#elif
      UINT Reserved : 19;
#else
      UINT Reserved : 24;
#endif
    };
    [in] UINT Value;
  };
} DXGK_PRESENTFLAGS;

Membros

[in] Blt

Um valor UINT que especifica se uma operação de cópia, em vez de uma operação de inversão, ocorre entre superfícies de origem e de destino.

Definir esse membro é equivalente a definir o primeiro bit do membro Value de 32 bits (0x00000001).

[in] ColorFill

Um valor UINT que especifica se existe uma origem para apresentar. Se esse membro estiver definido, nenhuma fonte existirá e o driver deverá preencher o retângulo de destino na superfície de destino com a cor A8R8G8B8 especificada pelo membro Color da estrutura DXGKARG_PRESENT .

Definir esse membro é equivalente a definir o segundo bit do membro Value de 32 bits (0x00000002).

[in] Flip

Um valor UINT que especifica se uma operação de inversão ocorre entre as superfícies traseira e primária. Se esse membro estiver definido, o driver deverá executar a operação atual apontando a saída da verificação de vídeo para a origem em vez de copiar da origem para o destino. Esse tipo de operação atual é livre de lágrimas.

Definir esse membro é equivalente a definir o terceiro bit do membro Value de 32 bits (0x00000004).

[in] FlipWithNoWait

Um valor UINT que especifica se as operações de inversão sem tear não devem parar o pipeline de gráficos. Se uma inversão sem interrupções parar o pipeline de gráficos, a GPU (unidade de processamento gráfico) deverá aguardar a inversão sem interrupção entrar em vigor antes de executar o comando subsequente.

FlipWithNoWait pode ser definido como TRUE (ou seja, 1) somente se o driver de miniporto de exibição definir o sinalizador de campo de bits FlipOnVSyncWithNoWait no membro FlipCaps da estrutura DXGK_DRIVERCAPS quando o valor DXGKQAITYPE_DRIVERCAPS foi especificado no membro Type da estrutura DXGKARG_QUERYADAPTERINFO em uma chamada para a função DxgkDdiQueryAdapterInfo do driver.

Definir esse membro é equivalente a definir o quarto bit do membro Value de 32 bits (0x00000008).

[in] SrcColorKey

Um valor UINT que especifica se a chave de cor de origem deve ser executada usando o valor no membro Color da estrutura DXGKARG_PRESENT . Ou seja, qualquer pixel na superfície de origem que corresponda à chave de cor não deve ser copiado para a superfície de destino e todos os pixels de origem que não correspondem à chave de cor devem ser copiados.

Definir esse membro é equivalente a definir o quinto bit do membro Value de 32 bits (0x00000010).

[in] DstColorKey

Um valor UINT que especifica se a chave de cor de destino deve ser executada usando o valor no membro Color da estrutura DXGKARG_PRESENT . Ou seja, qualquer pixel na superfície de destino que corresponda à chave de cor deve ser substituído pelo pixel correspondente da superfície de origem e todos os pixels de destino que não correspondem à chave de cor não devem ser substituídos.

Definir esse membro é equivalente a definir o sexto bit do membro Value de 32 bits (0x00000020).

[in] LinearToSrgb

Um valor UINT que especifica se a origem formatada linearmente deve ser convertida em formato sRGB durante a operação de cópia. O formato sRGB é corrigido por gama. Para obter mais informações sobre o formato sRGB, visite o site do sRGB .

Definir esse membro é equivalente a definir o sétimo bit do membro Value de 32 bits (0x00000040).

[in] Rotate

Um valor UINT que especifica se os dados de apresentação devem ser girados para corresponder à orientação atual da tela durante a transferência de bloco de bits da apresentação (bitblt). A orientação atual da tela é definida no membro Rotation de uma estrutura D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION , que é definida no membro ContentTransformation da estrutura D3DKMDT_VIDPN_PRESENT_PATH para o caminho presente do vídeo.

O driver de miniporto de exibição deverá girar os dados somente se o sinalizador Girar campo de bits estiver definido. Mesmo que o driver determine que a orientação atual da tela é girada dos dados da apresentação e Girar não estiver definida, o driver não deve girar os dados.

Definir esse membro é equivalente a definir o oitavo bit do membro Value de 32 bits (0x00000080).

[in] FlipStereo

Especifica se o driver deve inverter as imagens esquerda e direita de uma alocação estéreo.

Se o membro FlipOnNextVSync da estrutura DXGK_SETVIDPNSOURCEADDRESS_FLAGS estiver definido, o driver deverá concluir a inversão para a imagem à esquerda no próximo VSync e, em seguida, concluir a inversão para a imagem à direita no VSync a seguir.

Se o membro FlipImmediate da estrutura DXGK_SETVIDPNSOURCEADDRESS_FLAGS estiver definido, o driver deverá começar imediatamente a verificar a partir da nova alocação. Por exemplo, se o driver estava verificando uma imagem correta, ele deve iniciar a nova verificação do mesmo deslocamento relativo na imagem certa da nova alocação.

Os membros FlipStereo e FlipStereoTemporaryMono não podem ser definidos ao mesmo tempo.

Para obter mais requisitos, consulte a seção Comentários.

Definir esse membro é equivalente a definir o nono bit do membro Value de 32 bits (0x00000100).

Com suporte começando com Windows 8.

[in] FlipStereoTemporaryMono

Especifica se o driver deve usar a imagem esquerda de uma alocação estéreo para as partes direita e esquerda de um quadro estéreo. O driver executa a mesma operação presente que com o FlipStereo, exceto que ele deve verificar apenas a partir da imagem esquerda para produzir ambas as imagens de um quadro estéreo.

Esse membro só deverá ser definido se o driver relatar suporte para essa opção no modo de exibição atual definindo o membro Type da estrutura D3DKMDT_VIDPN_SOURCE_MODE como D3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCAN.

Os membros FlipStereo e FlipStereoTemporaryMono não podem ser definidos ao mesmo tempo.

Os membros FlipStereoTemporaryMono e FlipStereoPreferRight não podem ser definidos ao mesmo tempo.

Para obter mais requisitos, consulte a seção Comentários.

Definir esse membro é equivalente a definir o décimo bit do membro Value de 32 bits (0x00000200).

Com suporte começando com Windows 8.

[in] FlipStereoPreferRight

Especifica que, quando o driver clona uma alocação primária estéreo para um monitor mono, ele deve usar a imagem correta.

Os membros FlipStereoTemporaryMono e FlipStereoPreferRight não podem ser definidos ao mesmo tempo.

Para obter mais requisitos, consulte a seção Comentários.

Definir esse membro é equivalente a definir o décimo primeiro bit do membro Value de 32 bits (0x00000400).

Com suporte começando com Windows 8.

[in] BltStereoUseRight

Especifica que, quando o driver apresenta de uma alocação estéreo para uma alocação mono, ele deve usar a imagem correta. Se não estiver definido, o driver deverá usar a imagem à esquerda.

Definir esse membro é equivalente a definir o décimo segundo bit do membro Value de 32 bits (0x00000800).

Com suporte começando com Windows 8.

[in] FlipWithMultiPlaneOverlay

Especifica se ocorre uma operação de inversão entre um plano de sobreposição e a superfície primária. Se esse membro estiver definido, o driver deverá executar a operação atual apontando a saída da verificação de vídeo para o plano de origem em vez de copiar do plano de origem para o destino.

Definir esse membro é equivalente a definir o décimo terceiro bit do membro Value de 32 bits (0x00001000).

Com suporte a partir de Windows 8.1.

RedirectedFlip

[in] Reserved

Esse membro é reservado e deve ser definido como zero.

Definir esse membro como zero é equivalente a definir os 19 bits restantes (0xFFFFE000) do membro Value de 32 bits como zeros.

Com suporte começando com Windows 8.

[in] Esse membro é reservado e deve ser definido como zero.

Definir esse membro como zero é equivalente a definir os 24 bits restantes (0xFFFFFF00) do membro Value de 32 bits como zeros.

[in] Value

Um membro na união que DXGK_PRESENTFLAGS contém que pode conter um valor de 32 bits que identifica o tipo de operação atual a ser executada.

Comentários

Os sinalizadores de campo de bit ColorFill, SrcColorKey e DstColorKey são mutuamente exclusivos.

Se qualquer um dos membros FlipStereo, FlipStereoTemporaryMono ou FlipStereoPreferRight estiver definido, essas condições se aplicarão:

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Cabeçalho d3dkmddi.h (inclua D3dkmddi.h)

Confira também

D3DKMDT_VIDPN_PRESENT_PATH

D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION

D3DKMT_DISPLAYMODE

DXGKARG_PRESENT

DXGKARG_QUERYADAPTERINFO

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_DRIVERCAPS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS

DxgkDdiPresent

DxgkDdiQueryAdapterInfo