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:
- O membro hAllocation da estrutura DXGKARG_SETVIDPNSOURCEADDRESS deve apontar para uma alocação criada com o membro Stereo definido no membro Flags da estrutura D3DKMT_DISPLAYMODE .
- Os membros PrimarySegment e PrimaryAddress de DXGKARG_SETVIDPNSOURCEADDRESS devem apontar para o endereço físico inicial da alocação.
- O driver deve respeitar as configurações dos membros FlipImmediate e FlipOnNextVSync da estrutura DXGK_SETVIDPNSOURCEADDRESS_FLAGS .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Cabeçalho | d3dkmddi.h (inclua D3dkmddi.h) |
Confira também
D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION