Compartilhar via


estrutura D3DKMT_PRESENTFLAGS (d3dkmthk.h)

A estrutura D3DKMT_PRESENTFLAGS identifica como executar uma operação atual.

Sintaxe

typedef struct _D3DKMT_PRESENTFLAGS {
  union {
    struct {
      UINT Blt : 1;
      UINT ColorFill : 1;
      UINT Flip : 1;
      UINT FlipDoNotFlip : 1;
      UINT FlipDoNotWait : 1;
      UINT FlipRestart : 1;
      UINT DstRectValid : 1;
      UINT SrcRectValid : 1;
      UINT RestrictVidPnSource : 1;
      UINT SrcColorKey : 1;
      UINT DstColorKey : 1;
      UINT LinearToSrgb : 1;
      UINT PresentCountValid : 1;
      UINT Rotate : 1;
      UINT PresentToBitmap : 1;
      UINT RedirectedFlip : 1;
      UINT RedirectedBlt : 1;
      UINT FlipStereo : 1;
      UINT FlipStereoTemporaryMono : 1;
      UINT FlipStereoPreferRight : 1;
      UINT BltStereoUseRight : 1;
      UINT PresentHistoryTokenOnly : 1;
      UINT PresentRegionsValid : 1;
      UINT PresentDDA : 1;
      UINT ProtectedContentBlankedOut : 1;
      UINT RemoteSession : 1;
      UINT CrossAdapter : 1;
      UINT DurationValid : 1;
      UINT PresentIndirect : 1;
      UINT PresentHMD : 1;
#if ...
      UINT Reserved : 2;
#elif
      UINT Reserved : 6;
#else
      UINT Reserved : 15;
#endif
    };
         UINT Value;
  };
} D3DKMT_PRESENTFLAGS;

Membros

Blt

Um valor UINT que especifica se os dados de transferência de bloco de bits (bitblt) devem ser transferidos para a superfície primária. Esse sinalizador de campo de bits pode ser usado com os sinalizadores de campo de bit DstRectValid e SrcRectValid .

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

ColorFill

Um valor UINT que especifica se um bitblt colorfill deve ser executado na superfície primária usando o valor no membro Color da estrutura D3DKMT_PRESENT . Esse sinalizador de campo de bits pode ser usado com o sinalizador de campo de bit DstRectValid .

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

Flip

Um valor UINT que especifica se é necessário inverter para uma nova superfície.

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

FlipDoNotFlip

Um valor UINT que especifica se as esperas enfileiradas devem ser inseridas no fluxo de renderização. A configuração desse membro indica a inversão para a mesma superfície que está sendo examinada no momento.

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

FlipDoNotWait

Um valor UINT que especifica se o ICD (driver de cliente instalável) do OpenGL exige que a operação atual aguarde até que o número de superfícies de inversão enfileiradas fique abaixo de um limite específico antes do início da operação. Definir esse membro indica que o ICD não requer espera. O limite padrão para o número de superfícies de inversão na fila é três.

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

FlipRestart

Um valor UINT que especifica se uma nova superfície deve ser reiniciada.

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

DstRectValid

Um valor UINT que especifica se o bitblt usa uma área retangular de destino.

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

SrcRectValid

Um valor UINT que especifica se o bitblt usa uma área retangular de origem.

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

RestrictVidPnSource

Um valor UINT que especifica se o bitblt deve ser restringido. Se o membro hWindow for NULL, o membro VidPnSourceId da estrutura D3DKMT_PRESENT indicar para qual saída o bitblt de tela inteira será direcionado; se hWindow não for NULL, VidPnSourceId indicará a qual saída restringir o bitblt em janela.

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

SrcColorKey

Um valor UINT que especifica se a chave de cor de origem deve ser executada usando o valor no membro Color da estrutura D3DKMT_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 décimo bit do membro Value de 32 bits (0x00000200).

DstColorKey

Um valor UINT que especifica se a chave de cor de destino deve ser executada usando o valor no membro Color de D3DKMT_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 décimo primeiro bit do membro Value de 32 bits (0x00000400).

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, consulte o site sRGB .

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

PresentCountValid

Um valor UINT que especifica se o valor definido no membro PresentCount da estrutura D3DKMT_PRESENT é válido.

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

[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 décimo quarto bit do membro Value de 32 bits (0x00002000).

PresentToBitmap

Um valor UINT que especifica se deve ser apresentado a um bitmap.

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

Com suporte a partir do Windows 7.

RedirectedFlip

Um valor UINT que especifica se é necessário redirecionar uma inversão para uma nova superfície.

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

Com suporte a partir do Windows 7.

RedirectedBlt

Um valor UINT que especifica se é necessário redirecionar um bitblt para uma nova superfície.

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

Com suporte a partir do Windows 7.

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 décimo oitavo bit do membro Value de 32 bits (0x00020000).

Com suporte começando com Windows 8.

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 nono bit do membro Value de 32 bits (0x00040000).

Com suporte começando com Windows 8.

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 vigésimo bit do membro Value de 32 bits (0x00080000).

Com suporte começando com Windows 8.

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 bit 201 do membro Value de 32 bits (0x00100000).

Com suporte começando com Windows 8.

PresentHistoryTokenOnly

Especifica que o driver deve enviar apenas um token de histórico presente.

Um token de histórico atual é um pacote de dados que o aplicativo de renderização envia para informar ao DWM (Gerenciador de Janelas da Área de Trabalho) que a renderização está concluída e que o buffer de back da cadeia de troca está pronto para ser apresentado.

Definir esse membro é equivalente a definir o bit de vinte segundos do membro Value de 32 bits (0x00200000).

Com suporte começando com Windows 8.

PresentRegionsValid

Especifica que o D3DKMT_PRESENT. o membro pPresentRegions é um ponteiro válido (não NULL).

Definir esse membro é equivalente a definir o 23º bit do membro Value de 32 bits (0x00400000).

Com suporte começando com Windows 8.

PresentDDA

Esse membro é reservado e deve ser definido como zero.

Definir esse membro é equivalente a definir o 24º bit do membro Value de 32 bits (0x00800000).

Com suporte começando com Windows 8.

ProtectedContentBlankedOut

Esse membro é reservado e deve ser definido como zero.

Definir esse membro é equivalente a definir o 25º bit do membro Value de 32 bits (0x01000000).

Com suporte começando com Windows 8.

RemoteSession

Especifica que a operação atual é direcionada para uma sessão remota.

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

Com suporte começando com Windows 8.

CrossAdapter

O adaptador cruzado.

DurationValid

Indica se a duração é válida.

PresentIndirect

Apresentar indireto.

PresentHMD

Reserved

Com suporte começando com Windows 8.

Esse membro é reservado e deve ser definido como zero. Definir esse membro como zero é equivalente a definir os 9 bits restantes (0xFF800000) do membro Value de 32 bits como zeros.

Value

Um valor de 32 bits que identifica como executar a operação atual.

Comentários

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 Disponível a partir do Windows Vista.
Cabeçalho d3dkmthk.h (inclua D3dkmthk.h)

Confira também

D3DKMDT_VIDPN_PRESENT_PATH

D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION

D3DKMT_DISPLAYMODE

D3DKMT_PRESENT

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS